Я пытаюсь изменить indl-файл. Indl-файл - это файл, созданный Adobe Indesign для хранения структуры документа и в основном XML. Я хочу использовать Nokogiri, чтобы найти некоторые выбранные узлы XML и заменить текст на свой текст, сохранив xml в другой файл.Nokogiri, найти узел XML с несколькими атрибутами и изменить текст
XML, конечно, странно: я найти какой-нибудь документ, чтобы получить HTML-тег с Nokogiri изменения текста, но я не знаю, как я могу управлять кусок XML, как это:
<cflo>
<txsr prst="o_u5084" crst="o_u5085" trak="D_10">
<pcnt>c_tEST</pcnt>
</txsr>
<txsr prst="o_u5086" crst="o_u5c" trak="D_20">
<pcnt>c_Titolo titolo titolo</pcnt>
</txsr>
<cflo>
В основном нужно искать комбинацию атрибутов prst
и crst
и заменять содержимое внутри узла pcnt
.
Стараюсь с этим
@doc.xpath("//txsr[prst='o_u5086' and crst='o_u5085']")
, но я не знаю, как я могу изменить þér текст внутри pcnt
узла.
http://amolnpujari.wordpress.com/2012/03/31/reading_huge_xml-rb/ Я также нашел быка в 5 раз быстрее, чем nokogiri время чтение большого xml. Плюс У меня есть написанная оболочка, которая просто позволяет вам искать большой xml с помощью ox, позволяет вам итерации с указанным элементом. https://gist.github.com/amolpujari/5966431 –
Ваш XML недопустим, так как нет закрывающего тега. Это в самом XML? Это может путать синтаксические анализаторы, заставляя их возвращать неверные результаты. –