如何将使用XPath的简单C#方法转换为Java方法?

时间:2013-12-17 10:47:23

标签: c# java xml xpath xml-parsing

我在 Java 中使用 XPath 非常新,我不知道 C#

在这段时间里,我必须将使用 XPath C#方法转换为 Java 方法,我对此有些怀疑。

在C#方法中,我找到了以下代码行:

System.Xml.XmlNode element;
System.Xml.XmlNode filter;

filter = _document.CreateElement("filter");
element = _document.CreateElement("name");
element.InnerText = es.Descrizione;
filter.AppendChild(element);

我试图将其转换为Java代码。

我认为前两行可以翻译为:

Element element;
Element filter;

(简单地说明Jdom元素对象的声明)

但我对如何在Java中翻译这些行有很多疑问:

filter = _document.CreateElement("filter");
element = _document.CreateElement("name");

filter.AppendChild(element);

你能帮助我吗?

TNX

安德烈

2 个答案:

答案 0 :(得分:0)

Java等价物如下:

import javax.xml.parsers.*;
import org.w3c.dom.*;

public class Demo {

    public static void main(String[] args) throws Exception {
        Element element;                            // System.Xml.XmlNode element;
        Element filter;                             // System.Xml.XmlNode filter;

        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();

        Document _document = db.newDocument();
        filter = _document.createElement("filter"); // filter = _document.CreateElement("filter");
        element = _document.createElement("name");  // element = _document.CreateElement("name");
        element.setTextContent(es.Descrizione);     // element.InnerText = es.Descrizione;
        filter.appendChild(element);                // filter.AppendChild(element);
        _document.appendChild(filter);
    }

}

答案 1 :(得分:0)

你为什么提到XPath?我没有看到任何使用它。如果您想继续使用DOM API,那么即使使用http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/package-summary.html的Java也可以这样做,并且您的代码将是

import org.w3c.dom;


Element element;
Element filter;

filter = _document.createElement("filter");
element = _document.createElement("name");
element.setTextContent(es.Descrizione);
filter.appendChild(element);

如果您想使用JDOM,那么您需要更改方法,而不是使用基于DOM的工厂方法,如document.createElement(..),您只需使用new Element(..)等构造函数方法。