如何使用DOM PARSER将完整的XML解析为字符串?

时间:2017-08-18 06:58:44

标签: java xml domparser

例如:

如果我传递tagValue = 1那么它应该将完整的xml1作为字符串返回给我。字符串输入在某个函数中。

String input = "<1><xml1></xml1></1><2><xml2></xml2><2>.......<10000><xml10000></xml10000></10000‌​>"; String output = "<xml1></xml1>"; // for tagValue=1;

2 个答案:

答案 0 :(得分:0)

如果xml有一个根元素,那么它是可行的 1.使用dom解析器解析XML。 2.遍历每个节点 3.找到所需的节点。 4.使用transform

将节点写入不同的xml

示例代码 第1步:我使用XML作为字符串,您可以从文件中读取。

 DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance()
                                     .newDocumentBuilder();
InputSource is =  new InputSource(new StringReader(uri));
        Document doc = dBuilder.parse(is);
  1. 遍历每个节点

    if(doc.hasChildNodes()){

                printNote(doc.getChildNodes(), doc);
    
            }
    
  2. 请输入您的逻辑以迭代节点并找到您要处理的正确子节点。

  3. 以xml的形式回写。这里假设tempNode是你想要写成XML的那个。

    TransformerFactory tFactory =                     TransformerFactory.newInstance();                     变压器变压器;                     尝试{                         transformer = tFactory.newTransformer();

                    DOMSource source = new DOMSource(tempNode);
                    StreamResult result = new StreamResult(System.out);
                    transformer.transform(source, result);
    

答案 1 :(得分:-1)

你没有解析XML,你正在解析一个String,在你的特定情况下,替换就足够了

   String input = "<xml1><note><to>Tove</to><from>Jani</from<heading>Reminder</heading><body>Don't forget me this weekend</body></note><xml1>";
    input = input.replace("<xml1>", "");