私はいくつかのXMLファイルを解析して操作するRubyスクリプトに取り組んでいます。私はXML処理のためにNokogiriを使用しています。私は特定の<VALUE>ATTRIBUEnn</VALUE>
の同じ範囲内だ<VALUE>
タグを設定する必要が兄弟タグの内容を参照して、CSSセレクタを介してタグを検索するにはどうすればよいですか?
<USER_ELEMENT>
<NAME>ATTRIBUTE01</NAME>
<VALUE>XXX</VALUE>
</USER_ELEMENT>
:
私が持っている問題は、このようないくつかの構成要素があるということです。私の現在のアプローチは、使用しています
xml.css('USER_ELEMENT').find { |node| node.at_css('NAME').text == 'ATTRIBUTEnn'}.at_css('VALUE').content = 'NEW_VALUE'
しかし、それはかなり醜いです。
状況をよりきれいに処理するにはどうすればいいですか?
それはCSSでなければなりませんか? XPathが良い選択かもしれません。 –
私は既に他の回答のスレッドで答えたので、CSSの選択は一貫性のためです。アプリケーション全体はCSSセレクタに依存しているので、私はそれに固執するつもりです。 – cassianoleal