gpt4 book ai didi

java - Android 应用程序中的 XML 解析

转载 作者:行者123 更新时间:2023-11-30 03:25:36 24 4
gpt4 key购买 nike

我写这段代码是为了解析 XML字符串,但它不起作用。没有错误,但没有给出任何输出。

我的 XML 字符串:

String xml = "<ArrayOfString>" + "<string>{" + "categoryId"+":1," +
"Title" +":"+"Rock"+"," + "songs" +":" +" null}</string>" + "</ArrayOfString>";

代码:

    try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(xml);
doc.getDocumentElement().normalize();

NodeList nodeList = doc.getElementsByTagName("ArrayOfString");

item = new TextView[nodeList.getLength()];
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
item[i] = new TextView(this);

Element fstElmnt = (Element) node;
NodeList itemList = fstElmnt.getElementsByTagName("string");
Element itemElement = (Element) itemList.item(0);
itemList = itemElement.getChildNodes();
item[i].setText("item = "
+ ((Node) itemList.item(0)).getNodeValue());

layout.addView(item[i]);
}
}
catch (Exception e) {
System.out.println("XML Pasing Excpetion = " + e);
}

/** Set the layout view to display */
setContentView(layout);
}

最佳答案

问题是您正在调用 DocumentBuilder.parse(String)这是为了接受 URL 作为其参数,而不是实际的 XML。

最简单的替代方法可能是使用 InputSourceStringReader 读取:

StringReader reader = new StringReader(xml);
InputSource source = new InputSource(reader);
Document doc = db.parse(source);

关于java - Android 应用程序中的 XML 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18299533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com