2011-12-28 21 views
2

OmniXMLとDelphiを使用して、要素を見つけてノード内の別の要素を変更したいと思います。たとえば、以下のxmlリストでは、/ first-name = 'Joe1'を探して、価格を1200から10に変更したいと考えています。 XPathSelectを使用しようとしましたが、 /ファーストネーム。あなたのXPathSelectクエリとしてOmniXMLとDelphiを使用して、属性で要素を探し、ノード内の別の要素を変更するにはどうすればよいですか?

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="myfile.xsl" ?> 
<bookstore specialty="novel"> 
    <book style="autobiography"> 
    <author> 
     <first-name>Joe1</first-name> 
     <last-name>Bob</last-name> 
     <award>Trenton Literary Review Honorable Mention</award> 
    </author> 
    <price>1200</price> 
    </book> 
    <book style="textbook"> 
    <author> 
     <first-name>Mary</first-name> 
     <last-name>Bob</last-name> 
     <publication>Selected Short Stories of 
     <first-name>Mary</first-name> 
     <last-name>Bob</last-name> 
     </publication> 
    </author> 
    <editor> 
     <first-name>Britney</first-name> 
     <last-name>Bob</last-name> 
    </editor> 
    <price>55</price> 
    </book> 
</bookstore> 
+1

こんにちは、歓迎StackOverflow!これは良い質問ですが、最後の文は「私のXPathSelectコードは機能しません」と基本的に同じです。これはあまり役に立ちません。動作していないXPathSelectコードを投稿して、間違っていることを説明してください。それは、あなたがそれを修正する方法を見つける手助けをはるかに簡単にします。ありがとう。 –

答えて

2

使用//book[author/first-name = "Joe1" ]ノードを取得し、それを変更するには、そのノードからサブノードPriceにアクセスします。

関連する問題