0
私は以下のXMLを持っています。上記のXMLでxml javaのコメントのCDATA値を読み取る
<add-item item-descriptor="sku" id="235957441">
<set-property name="skuType"><![CDATA[NORMAL]]></set-property>
<set-property name="isPartOfClearancePriceList"><![CDATA[false]]></set-property>
<set-property name="size"><![CDATA[Single set]]></set-property>
<!-- rdonly <set-property name="prices"><![CDATA[then2price=-1.0,clearanceprice=-1.0,then1price=-1.0,extravaganzaprice=-1.0,wasprice=-1.0,nowprice=10.0]]></set-property> -->
<!-- rdonly derived <set-property name="dissectionName"><![CDATA[DUVETCOVERCOL2]]></set-property> -->
</add-item>
、私は、Javaコードを使用してprices
コメントのthen1price
をthen2price
、clearanceprice
の値を読み取るためにきました。
私はコメントを読むことができましたが、コメントのCDATA
を読むことができませんでした。
Javaコード:
NodeList nl = doc.getDocumentElement().getChildNodes();
for (int i = 0; i < nl.getLength(); i++) {
if (nl.item(i).getNodeType() == Element.COMMENT_NODE) {
Comment comment = (Comment) nl.item(i);
// System.out.println(comment.getNodeValue());
Node child = nl.item(i);
if(child instanceof CharacterData){
CharacterData cd = (CharacterData) child;
System.out.println(cd.getNodeValue());
}
}
上記のコードはCDATA内部の値を印刷していない、それは完全なコメントを印刷しています。
出力にはthen2price=-1.0,clearanceprice=-1.0,then1price=-1.0,extravaganzaprice=-1.0,wasprice=-1.0,nowprice=10.0
が必要です。
多くの方々のおかげです。