与C#的XmlDocument相似的Java实现

提问

是否存在类似于C#的System.Xml.XmlDocument的Java实现?我目前正在尝试在Java中复制此C#代码片段.

XmlDocument doc = new XmlDocument();
doc.Load(new XmlTextReader(new StringReader(message)));
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("x", nameSpace);
XmlNodeList nodeList = doc.SelectNodes("//x:Object//@*", nsmgr);

最佳答案

这看起来与Java DOM Parser非常相似.这是一个片段,向您展示如何编写xml:

    // Use a Transformer for output
    TransformerFactory tFactory =
    TransformerFactory.newInstance();
    Transformer transformer = 
    tFactory.newTransformer();

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

这是how to read xml的示例:

File fXmlFile = new File("/Users/mkyong/staff.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);

这样的问题向您展示了如何执行xpath:How to read XML using XPath in Java

既然如此,我认为这不是一个非常方便使用的库.相反,我会研究XStream并尝试找出一种使用它的方式(如果可以).这是一个更好的API.

评论