代码之家  ›  专栏  ›  技术社区  ›  Yosi

XML字符串转换

  •  1
  • Yosi  · 技术社区  · 14 年前

    我有以下XML字符串:

    <persons>
        <person>
            <name>Someone</name>
            <age>27</age>
        </person>
        <person>
            <name>Otherone</name>
            <age>43</age>
        </person>
    </persons>
    

    我想取这个字符串并从中得到一个dom对象。它可以是任何XML字符串(不是来自文件!).

    很抱歉这个新来的问题,非常感谢帮助者。

    2 回复  |  直到 12 年前
        1
  •  3
  •   khachik    14 年前
    org.w3c.dom.Document doc =
      javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder(
            ).parse(
       new org.xml.sax.InputSource(new java.io.StringReader(xmlString)));
    
        2
  •  0
  •   jLuengas    14 年前

    试试这个:

    import java.io.IOException;
    
    import org.apache.xerces.parsers.DOMParser;
    import org.w3c.dom.Document;
    import org.xml.sax.InputSource;
    import org.xml.sax.SAXException;
    
    
    
    public class String2XML {
    
        public static void main(String[] args) throws SAXException, IOException {
            String xml="<persons><person><name>Someone</name><age>27</age></person><person><name>Otherone</name><age>43</age></person></persons>";
            DOMParser parser = new DOMParser();
            parser.parse(new InputSource(new java.io.StringReader(xml))); 
            Document doc = parser.getDocument();
            System.out.println("String2XML.main()-"+doc.toString());
        }
    }
    

    不要忘记在类路径中包含xercesimpl.jar和xml-apis.jar。你可以在这里找到它们 http://archive.apache.org/dist/xml/xerces-j/binaries/