如何从Java中的字符串创建一个XML对象?
我想写一个代码,可以帮助我创建一个XML对象。例如,我会给一个字符串作为函数的输入,它会返回一个XMLObject。如何从Java中的字符串创建一个XML对象?
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对象。你对此有何看法?
如果你可以创建一个字符串的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地址。
据我所知“parse”返回一个DOM文档对象,你将如何获得这个代码的SAX版本?感谢名单! – theexplorer
如果没有源代码,我们想要创建一个新的Document对象,然后向其中添加子对象,那么可能还是必须先创建根元素? –
尝试像
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);
}
给出XMLObject的完全限定名称(FQN)。你在使用xmlbeans吗? –
好的,第一个问题:什么是XMLObject?那是哪个图书馆? –
XMLObject只是一个例子,我想要一个获取字符串作为参数的函数,然后它将返回一个XML对象。我正在使用jdom来实现。 – Ozer