将一个字符串转换为 XML 元素 Java

7
我想将一个字符串转换为 org.jdom.Element
String s = "<rdf:Description rdf:about=\"http://dbpedia.org/resource/Barack_Obama\">";

我该怎么做?


1
你已经尝试了什么? - Olimpiu POP
通常情况下,我会创建一个带有根节点的文档... - pseudo2188
3个回答

5

有多种方法可以解析XML字符串:

例子1

  String xml = "Your XML";
  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  DocumentBuilder db = dbf.newDocumentBuilder();
  Document doc = db.parse(new ByteArrayInputStream(xml.getBytes("UTF-8")));     

例子2

使用可以读取输入源的SAXParser:

 SAXParserFactory factory = SAXParserFactory.newInstance();
 SAXParser saxParser = factory.newSAXParser();
 DefaultHandler handler = new DefaultHandler() {
 saxParser.parse(new InputSource(new StringReader("Your XML")), handler);    

参见:SAXParserInputSource


不行,这个指令只是设置元素的名称,无法起作用。 - pseudo2188
@Abu 为什么这应该是一条注释? - CloudyMarble
@pseudo2188 它从字符串返回一个 org.jdom.Element,你期望输出什么? - CloudyMarble
1
我认为,OP想要解析一个包含在字符串中的整个XML文档。 - vanje
在我的输入中,有一个字符串,但是这个字符串对应一个XML元素,我必须将它与其他真正的XML元素进行比较,所以我必须将第一个转换。 - pseudo2188
@pseudo2188 对不起,我误解了问题,我更新了我的答案。 - CloudyMarble

0

我通常会这样做,但对于我的例子来说并不必要,因为我必须声明我使用的命名空间,并构造一个有效的XML。 - pseudo2188

-1

我建议您使用http://simple.sourceforge.net/的Simple XML Framework。使用这个框架,您可以轻松地序列化和反序列化对象。希望这些信息对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接