我正在尝试编写一个帮助我创建XML对象的代码。例如,我将给一个字符串作为函数的输入,它将返回一个XMLObject。
XMLObject convertToXML(String s) {}
当我在网上搜索时,通常我看到了有关创建XML文档的示例。所以我看到的关于创建XML并写入文件并创建文件的所有内容。但我做过类似的事情:
Document document = new Document();
Element child = new Element("snmp");
child.addContent(new Element("snmpType").setText("snmpget"));
child.addContent(new Element("IpAdress").setText("127.0.0.1"));
child.addContent(new Element("OID").setText("1.3.6.1.2.1.1.3.0"));
document.setContent(child);
您认为创建XML对象是否足够?还能帮助我如何从XML获取数据吗?例如,如何从该XML获取IpAdress
?
非常感谢你
编辑1:实际上现在我认为我可能会更容易拥有像base.xml
这样的文件,我会将所有基本内容写入其中,例如:
<snmp>
<snmpType><snmpType>
<OID></OID>
</snmp>
然后使用此文件创建XML对象。你觉得怎么样?
答案 0 :(得分:81)
如果你可以创建一个字符串xml,你可以很容易地将它转换为xml文档对象,例如 -
String xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?><a><b></b><c></c></a>";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xmlString)));
} catch (Exception e) {
e.printStackTrace();
}
您可以使用文档对象和xml解析库或xpath来获取IP地址。
答案 1 :(得分:11)
尝试类似
的内容public static Document loadXML(String xml) throws Exception
{
DocumentBuilderFactory fctr = DocumentBuilderFactory.newInstance();
DocumentBuilder bldr = fctr.newDocumentBuilder();
InputSource insrc = new InputSource(new StringReader(xml));
return bldr.parse(insrc);
}