当前位置: 首页 > 面试题库 >

解析XML字符串并构建字符串列表

芮博厚
2023-03-14
问题内容

我有一个字符串,其内容是XML。我想将标签分开,并使其成为Java中的字符串列表。以下是我正在尝试的东西:

string xml="<hello><hi a='a' b='b'/><hi a='b' b='a'/></hello>";

我想将其分为以下列表:

list[0]="<hi a='a' b='b'/>"
list[1]="<hi a='b' b='a'/>"

我试图通过JAXB处理器执行此操作,但效果不佳。还使用split尝试了一些愚蠢的逻辑,但这也无济于事。还有其他方法可以做到这一点吗?


问题答案:
string xml="<hello><hi a='a' b='b'/><hi a='b' b='a'/></hello>";

//read XML from the given string
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(xml));
Document doc = builder.parse(is);

//this will return a list of xml tags whose name is `hi`
NodeList hiList = document.getElementsByTagName("hi");

//you can iterate over hiList and read/process them
for (int i = 0; i < hiList.getLength(); i++) {
    Node child = hiList.item(i);
    String name = child.getNodeName();
    String contents = child.getTextContent();
}


 类似资料:
  • 问题内容: 您如何解析存储在Java字符串对象中的xml? Java的XMLReader仅从URI或输入流中解析XML文档。无法从包含xml数据的字符串进行解析? 现在,我有以下内容: 在我的处理程序上,我有这个: 提前致谢 问题答案: 该SAXParser的可以读取的的InputSource。 一个 InputSource的 可以采取 读者 在其构造 因此,您可以通过StringReader来解

  • Milo Yip 2016/9/27 本文是《从零开始的 JSON 库教程》的第三个单元解答编。解答代码位于 json-tutorial/tutorial03_answer。 1. 访问的单元测试 在编写单元测试时,我们故意先把值设为字符串,那么做可以测试设置其他类型时,有没有调用 lept_free() 去释放内存。 static void test_access_boolean() {

  • 问题内容: 我有以下Json字符串 我正在尝试解析它并打印出每个名称和值-最简单的方法是什么?我尝试了jQuery.parseJSON但我不知道如何使用它 示例代码会很棒 问题答案: 结果是: jsFiddle示例:http://jsfiddle.net/bradchristie/XtzjZ/1/

  • 主要内容:Jsoup 解析字符串 语法,Jsoup 解析字符串 说明,Jsoup 解析字符串 示例以下示例将展示将 HTML 字符串解析为 Document 对象。 Jsoup 解析字符串 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 Jsoup 解析字符串 说明 parse(String html) 方法将输入的 HTML 解析为一个新的 Document。该文档对象可用于遍历和获取 htm

  • 问题内容: 将sql字符串解析成单独的组件的好方法是什么。我尝试过使用正则表达式,但是无法使其正常工作。 例如说: 将创建一个包含所有组件的数组 等等… 谢谢 问题答案: 我会选择一个可以与您的语言集成的sql解析器:不要重新发明轮子。 我没有特别推荐一个人,但是我敢肯定,您会找到一个可以满足您需求的人。 参见相关文章:PHP MySQL SQL解析器(INSERT和UPDATE)

  • 问题内容: 我在MSSQL中有一个很长的字符串,我需要I值。 I代表发票,A代表金额,D代表日期 I = 940; A = 29.5; D = 20090901 | I = 941; A = 62.54; D = 20090910 | I = 942; A = 58.99; D = 20091005 | I = 954; A = 93.45; D = 20091201 | I = 944; A =