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?

Author: Belphegor, 2011-09-30

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.

 76
Author: Jayendra,
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);
}
 11
Author: i100,
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