基本的に SOAP Web サービスの XML 結果である DomDocument を処理しています。ざっくり言うとこんな感じです
...<ParentNode><ChildNode><output><escaped<string</ChildNode></ParentNode>...
はい、ChildNode の値は出力エスケープされた文字列であり、この XML 内にパックされた XML です。次のようなDomDocument処理の通常の実行を行います
NodeList rows = dom.getElementsByTagName(ChildNode);
for(int i=0;i<rows.length;i++)
{
System.out.println(rows[i].getParentNode()); // returns ParentNode
System.out.println(rows[i].getNodeName()); // returns ChildNode
System.out.println(rows[i].getNodeValue()); // returns null
}
上記のコードを調べると、ノードが ParentNode および NodeName ノードに対して正しい値を返す場合でも、getNodeValue() にアクセスすると null 値が返されることがわかります。ここに文字列があり、コンソール出力で確認できます。しかし、ここでどのトリックが欠けているのかわかりません。出力エスケープが特定の方法でそれを台無しにしますか?
ありがとう、パリジャット