如何在java中读取字符串xml字符串?
Posted
技术标签:
【中文标题】如何在java中读取字符串xml字符串?【英文标题】:How do I read the string xml string in java? 【发布时间】:2021-05-13 02:04:11 【问题描述】:我收到了来自 API 的响应,例如字符串 xml。如何从字符串 xml 中检索数据。
字符串类似于<string xmlns="http://tempuri.org/">500226#Mr Santosh Sarangi#TPCODL</string>
我只需要这个500226#Mr Santosh Sarangi#TPCODL
数据。我怎么做。我这样关注但无法获取数据:--
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource src = new InputSource();
src.setCharacterStream(new StringReader(inputLine1));
Document doc = builder.parse(src);
String age = doc.getElementsByTagName("http://tempuri.org/").item(0).getTextContent();
String name = doc.getDocumentElement().toString();;
【问题讨论】:
标签名为"string"
,而不是"http://tempuri.org/"
【参考方案1】:
XML 包含一个命名空间,因此最好启用命名空间感知。 如果您的所有 XML 都非常简单,您可以简单地从根元素中获取文本内容。根元素是文档的第一个子元素:
try
final String xmlString = "<string xmlns=\"http://tempuri.org/\">500226#Mr Santosh Sarangi#TPCODL</string>";
System.out.println(xmlString);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
StringReader reader = new StringReader(xmlString);
InputSource source = new InputSource(reader);
Document document = builder.parse(source);
System.out.println(document.getFirstChild().getTextContent());
catch(Exception e)
e.printStackTrace();
输出是:
<string xmlns="http://tempuri.org/">500226#Mr Santosh Sarangi#TPCODL</string>
500226#Mr Santosh Sarangi#TPCODL
【讨论】:
以上是关于如何在java中读取字符串xml字符串?的主要内容,如果未能解决你的问题,请参考以下文章