java解析在线xml
时间: 2023-10-26 14:05:37 浏览: 38
在Java中解析在线XML可以使用Java中内置的XML解析器,例如DOM、SAX或StAX。
以下是使用DOM解析器解析在线XML的示例代码:
```java
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import java.net.URL;
public class XMLParser {
public static void main(String argv[]) {
try {
URL url = new URL("http://www.example.com/data.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(url.openStream());
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("item");
System.out.println("-----------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("Title : " + eElement.getElementsByTagName("title").item(0).getTextContent());
System.out.println("Link : " + eElement.getElementsByTagName("link").item(0).getTextContent());
System.out.println("Description : " + eElement.getElementsByTagName("description").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们使用Java中的URL类创建了一个URL对象来访问在线XML文件,然后使用DocumentBuilderFactory和DocumentBuilder类创建了一个DOM解析器对象,使用该对象解析XML文件。
我们使用doc.getDocumentElement().normalize()方法规范化XML文档,然后使用getElementsByTagName()方法获取所有元素,并使用for循环遍历这些元素。在循环中,我们使用Node对象的getNodeType()方法检查当前节点的类型,如果是一个元素节点,则使用Element对象获取元素的信息。
这只是使用DOM解析器的基本示例,您可以根据您的需要进行更改和调整。