簡體   English   中英

將XML字符串作為節點添加到現有XML

[英]Add XML String as Node to Existing XML

我有一個字符串類似xml / mathml的片段,例如<msup><mn>2</mn><mn>6</mn></msup><mo>+</mo><msup><mn>2</mn><mn>7</mn></msup>

我想用此字符串替換現有的xml節點。 我試過了

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuild = docFactory.newDocumentBuilder();
    Document doc = docBuild.parse(is); //is ==> Inputstream
    XPath xpath = XPathFactory.newInstance().newXPath();
    xpath.setNamespaceContext(new Namespace());
    XPathExpression expr = xpath.compile(xPath); //xPath ==>XPath of parent node where the above is to be appended
    Node node = (Node) expr.evaluate(doc, XPathConstants.NODE);
    if (node.getChildNodes().item(0).getNodeName().equals("mml:math")) {
        node.removeChild((node.getChildNodes().item(0)));
        Element s= doc.createElement("mml:math");
        s.setNodeValue("<msup><mn>2</mn><mn>6</mn></msup><mo>+</mo><msup><mn>2</mn><mn>7</mn></msup>");
        node.appendChild(s);
    }

我沒有使用s.setNodeValue() ,而是使用s.setTextContent()解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM