现有XML
<ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2013-08-01">
<OperationRequest>
<Arguments>xyz</Arguments>
</OperationRequest>
<Items>
<Item>
<ItemId>123<ItemId>
<CustomerReviews>
<IFrameURL>someurl</IFrameURL>
<HasReviews>true</HasReviews>
</CustomerReviews>
<EditorialReviews>
<Content>text</Content>
</EditorialReviews>
<Item>
</Items>
需要将其转换为
<ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2013-08-01">
<OperationRequest>
<Arguments>xyz</Arguments>
</OperationRequest>
<Items>
<Item>
<ItemId>123<ItemId>
<CustomerReviews>
<CustomerReview>
<ReviewText>abc<ReviewText>
<ReviewDate>May 24, 2015<ReviewDate>
</CustomerReview>
<CustomerReview>
<ReviewText>def<ReviewText>
<ReviewDate>June 24, 2014<ReviewDate>
</CustomerReview>
<HasReviews>true</HasReviews>
</CustomerReviews>
<EditorialReviews>
<Content>text</Content>
</EditorialReviews>
<Item>
</Items>
我能够删除IFrameURL并能够在HasReviews之前插入节点CustomerReview,但是如何在CustomerReview中添加更多节点。 以下是我到目前为止使用其他Stack overflow post所取得的成就。
<ItemLookupResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2013-08-01">
<OperationRequest>
<Arguments>xyz</Arguments>
</OperationRequest>
<Items>
<Item>
<ItemId>123<ItemId>
<CustomerReviews>
<CustomerReview>hello</CustomerReview>
<CustomerReview>hello</CustomerReview>
<CustomerReview>hello</CustomerReview>
<HasReviews>true</HasReviews>
</CustomerReviews>
<EditorialReviews>
<Content>text</Content>
</EditorialReviews>
<Item>
</Items>
PS:XML结构最后有/ ItemLookupResponse,但在代码中不可见。
答案 0 :(得分:0)
花了一整天后,我想出来了。
这是链接W3Schools,我曾经完成工作。微小的区别是,使用item(index)函数来访问特定的数组位置。对于例如使用DOM java时,下面代码中的第三行可以替换为x=xmlDoc.getElementsByTagName("book").item(0);
。
xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);
其他功能也是如此。