我在Java代码中有一个字符串变量,由下面的XML分配。
<note>
<to>Joy</to>
<from>Jaquie</from>
<heading>
Reminder email about product <a id="123" title ="product serial number 123"></a> </heading>
<body>Don't forget to see the webURL <a id="123" title ="product serial number 123"> this a very useful product</a> and also see this product <a id="245" title="product serial number 245"> this is certainly useful product</a></body>
</note>
我有一个API方法,它返回一个对应于id的自定义标题 标签
public String CustomTitle(String id) {
-----
-----
-----
return " This is custom title for this web url";
}
现在在上面的XML中,我必须替换驻留在上面的API方法返回的新custumTitle中的标记的标题。
我认为在某些地方我可能需要使用正则表达式或一些复杂的JAVA字符串操作。
有人可以帮我这个。
注意 - 我是JAVA的新手,SAXParser和DOM对我来说也是新手。我陷入了一些生产问题,所以请你为我的问题提供代码。
答案 0 :(得分:0)
您需要查看SAXParser
当您在XML
中输入特定代码时,它会通知您。
然后,在标签内部,它将为您提供标签中的数据。当你在标签之外时(标签已经结束),它也会让你知道
教程:http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/
其他解析器为DOM
和StAX
当您需要XML文档的内存树表示时,可以使用DOM
,然后您可以使用XPath
表达式获取特定节点。
Stax是Streaming API for XML
。当您需要通过网络传输数据时,需要这样做。
如果您有点冒险,请查看JAXB
。 JAXB允许您将XML直接映射到类文件
Blaise Doughan的详细教程:http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison.html