我有以下 C#方法,其中包含 XPath 查询:
public bool setDriveParameter(DefaultDriveParameter parameter, string valore){
System.Xml.XmlNode n;
n = _document.SelectSingleNode("//root/settings/defaults/" + parameter.ToString().Replace("_", "-"));
if (n == null) {
return false;
}
n.InnerText = valore;
return true;
}
我必须在 Java 中进行转换,但我对XPath查询有疑问,我做了类似的事情:
public boolean setDriveParameter(DefaultDriveParameter parameter, String valore) {
Element n;
XPath xPath;
try {
xPath = XPath.newInstance("//root/settings/defaults/" + parameter.toString().replace("_", "-") );
n = (Element) xPath.selectSingleNode(CONFIG_DOCUMENT);
if (n == null) {
return false;
}
n.setText(valore);
} catch (JDOMException e) {
}
return true;
}
我怀疑主要与这个C#系列有关:
n.InnerText = valore;
Java中的正确使用:
n.setText(valore);
有相同的含义吗?
TNX
安德烈
答案 0 :(得分:1)
这不是Java与C#的问题,而是您使用的API的问题。假设您将JDOM http://www.jdom.org/docs/apidocs/org/jdom2/Element.html#setText%28java.lang.String%29与Java一起使用,那么调用n.setText(valore)
等同于C#和XmlElement / XmlNode(.NET框架中的DOM API)和n.InnerText = valore
。