3
私は以下のようなXMLがあります。今、私はノード選択した行を削除したい特定の位置にXMLからノードを削除
<As>
<a>
<Bs>
<b>5</b>
<Bs>
</a>
<a>
<Bs>
<b>9</b>
<Bs>
</a>
<a></a>
<a>
<Bs>
<b>12</b>
<b>14</b>
<b>15</b>
</Bs>
</a>
を。ユーザがノード<b>14</b>
を選択したとします。
私はとして式を生成している:それは次の例外を与えている
String expression = "/As/a[4]/Bs/b[2]";
Node node = (Node) xpath.evaluate(expression, doc, XPathConstants.NODE);
node.getParentNode().removeChild(node);
:
javax.xml.transform.TransformerException: Extra illegal tokens: 'health-history-questions', '/', 'health-history-question', '[', '3', ']'
at org.apache.xpath.compiler.XPathParser.error(XPathParser.java:610)
at org.apache.xpath.compiler.XPathParser.initXPath(XPathParser.java:145)
at org.apache.xpath.XPath.<init>(XPath.java:178)
at org.apache.xpath.XPath.<init>(XPath.java:266)
at org.apache.xpath.jaxp.XPathImpl.eval(XPathImpl.java:195)
at org.apache.xpath.jaxp.XPathImpl.evaluate(XPathImpl.java:281)
あなたの*実際の* XMLと*実際の* XPathまたはXSLTを表示せずに、例外を表示することはまったく役に立ちません。 – Tomalak
例外で判断すると、プログラムを実行したのと同じ入力が表示されていません。入力を行うか、サンプル入力でプログラムを実行するかを表示してください。 –