C# 如何将这个使用XPath的简单C方法转换为Java方法?
我对在Java中使用XPath非常陌生,我不懂C 在这段时间里,我不得不将一些使用XPath的C方法转换成Java方法,对此我有些怀疑 在C方法中,我发现了以下代码行:C# 如何将这个使用XPath的简单C方法转换为Java方法?,c#,java,xml,xpath,xml-parsing,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
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
AndreaJava的等价物如下:
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);
}
}
你为什么提到XPath?我看不出它有什么用处。如果您想继续使用domapi,那么即使在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。。您只需使用诸如newelement之类的构造函数方法…mmm我正在导入org.jdom.*包,而不是org.w3c.dom,我不知道这是同一件事。顺便说一句,我正试图做一些你建议我做的事情,但无法工作,我必须做:Document Document=new Document;过滤器=document.createElementfilter;但是现在Eclipse告诉我以下错误消息:类型文档的方法createElementString未定义为什么?@AndreaNobili、W3C DOM和JDOM是不同的对象模型,您需要决定要使用哪个对象模型。您似乎在Java中使用JDOM,但当您试图使用.NET中的DOM转换C代码时,在Java中使用DOM可能也会更容易。这是你的选择。如果您选择JDOM,那么当然必须使用JDOMAPI。文档中的所有createXXX方法都是W3CDOM的一部分,JDOM故意使用不同的方法,并提供诸如new Element之类的构造函数方法。。来构造元素节点。因此,决定要使用哪个对象模型和哪个API。它只使用DOM方法。其次,在Java中,您可以选择树模型:DOM、JDOM、XOM、DOM4J。您已经暗示要使用JDOM,这可能是一个很好的选择,但您会得到令人困惑的答案,因为您还没有真正弄清楚这一点。