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

本文关键字:方法 简单 转换 Java XPath | 更新日期: 2024-10-29 17:35:29

我在Java中使用XPath很陌生,我不懂C#

在这段时间里,我必须将一些使用 XPathC# 方法转换为 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 代码。

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

Element element;
Element filter;

(它很简单,一个 Jdom 元素对象的声明)

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

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

你可以帮我吗?

安德里亚

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

你为什么提到XPath?我看不出它有任何用处。如果你想继续使用 DOM API,那么你甚至可以在 Java 中使用 http://docs.oracle.com/javase/7/docs/api/org/w3c/dom/package-summary.html 并且你的代码将是

import org.w3c.dom;

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

如果你想使用 JDOM,那么你需要改变方法,而不是像document.createElement(..)那样使用 DOM 的工厂方法,你只需使用像 new Element(..) 这样的构造函数方法。

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);
    }
}