Comment créer un objet XML à partir D'une chaîne en Java?

J'essaie d'écrire un code qui m'aide à créer un objet XML. Par exemple, je vais donner une chaîne en entrée à une fonction et elle me retournera un XMLObject.

XMLObject convertToXML(String s) {}

Lorsque je cherchais sur le net, j'ai généralement vu des exemples sur la création de documents XML. Donc, toutes les choses que j'ai vues sur la création D'un XML et écrire dans un fichier et créer le fichier. Mais j'ai fait quelque chose comme ça:

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);

Pensez-vous qu'il suffit de créer un objet XML? et pouvez vous aussi aider moi comment obtenir des données à partir de XML? Par exemple, comment puis-je obtenir le IpAdressde ce XML?

Merci beaucoup à tous

EDIT 1: en fait, maintenant je pensais que ce serait peut-être beaucoup plus facile pour moi d'avoir un fichier comme base.xml, je vais écrire toutes les choses de base dans ce par exemple:

<snmp>
<snmpType><snmpType>
<OID></OID>
</snmp>

Puis utilisez ce fichier pour créer un objet XML. Que pensez-vous de cela?

40
demandé sur Belphegor 2011-09-30 11:38:14

2 réponses

Si vous pouvez créer une chaîne xml, vous pouvez facilement la transformer en objet document xml, par exemple -

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();  
} 

Vous pouvez utiliser l'objet document et bibliothèques d'analyse xml ou xpath pour récupérer l'adresse ip.

76
répondu Jayendra 2017-11-13 17:09:57

Essayez quelque chose comme

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
répondu i100 2011-09-30 07:47:53