這裏是問題,我有一個不完整的文檔(docA),並且想要在由某個xpath字符串(在doc元素列表中)定義的某個特定位置插入一些xml元素到獲得完整的文檔(docB)。使用xpath在xml文檔中插入一個元素
所以基本上,鑑於該文件的DOCA:
<document>
<information type="person">
<id>string</id>
<customer>
<customerID>abc</customerID>
<externalID>2</externalID>
<person>
<gender>M</gender>
<firstName>John</firstName>
<!-- here should be a middle name -->
<lastName>Doe</lastName>
<birthdate>2011-05-05</birthdate>
</person>
<!-- more elements... -->
</customer>
<!-- more elements... -->
</information >
</document>
和元素列表:
<newElementSet>
<element>
<name>Middle Name</name>
<path>/document/information/customer/person/middleName</path>
<value>Fitzgerald</value>
</element>
<!-- some more element could go there -->
</newElementSet>
輸出文檔應該是:
<document>
<information type="private">
<id>string</id>
<customer>
<customerID>abc</customerID>
<externalID>2</externalID>
<person>
<gender>M</gender>
<firstName>John</firstName>
<middleName>Fitzgerald</middleName>
<lastName>Doe</lastName>
<birthdate>2011-05-05</birthdate>
</person>
<!-- more elements... -->
</customer>
<!-- more elements... -->
</information >
</document>
任何方式,這可能在做XSLT?我試過使用Xquery,但它似乎不可能(不能使用Xquery更新,因爲它尚不支持)。
編輯:我只想確切地說,這只是對問題的簡單介紹。在現實中,我們有更多的元素添加有值實際上會從用戶輸入取...
您的XPath不會告訴您的新元素應該在''元素的哪個位置。有關係嗎? –
2011-05-06 09:13:44
在某些情況下,它實際上可能會在我們的模式中定義。這是否意味着我們必須修改我們的xpath定義或添加更多信息? – florent 2011-05-06 09:24:23
提供' '描述不包含任何唯一的信息來標識您需要更新哪個'客戶/人'。或者你想給所有人添加' Fitzgerald '? –
2011-05-06 12:40:47