Jak utworzyć obiekt XML z String w Javie?
Próbuję napisać kod, który pomoże mi stworzyć obiekt XML. Na przykład, Dam ciąg znaków jako wejście do funkcji i zwróci mi XMLObject.
XMLObject convertToXML(String s) {}
Kiedy szukałem w sieci, ogólnie widziałem przykłady tworzenia dokumentów XML. Więc wszystkie rzeczy, które widziałem o tworzeniu XML i zapisać do pliku i utworzyć plik. Ale ja coś takiego zrobiłem:
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);
Czy uważasz, że wystarczy utworzyć obiekt XML? a także czy możesz mi pomóc jak pobrać dane z XML? Na przykład, Jak mogę pobrać IpAdress
z tego XML?
Dziękuję wszystkim bardzo
EDIT 1: właściwie teraz pomyślałem, że może łatwiej będzie mi mieć taki plik jak base.xml
, napiszę do niego wszystkie podstawowe rzeczy na przykład:
<snmp>
<snmpType><snmpType>
<OID></OID>
</snmp>
A następnie użyj tego pliku do utworzenia obiektu XML. Co o tym myślisz?
2 answers
Jeśli możesz utworzyć łańcuch znaków xml, możesz łatwo przekształcić go w obiekt dokumentu XML, np. -
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();
}
Możesz użyć obiektu dokumentu i bibliotek parsowania xml lub xpath, aby odzyskać adres ip.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-13 17:09:57
Spróbuj czegoś takiego
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);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-30 07:47:53