永发信息网

java解析xml中返回的数据???

答案:3  悬赏:30  手机版
解决时间 2021-03-16 15:29
  • 提问者网友:
  • 2021-03-15 22:40
java解析xml中返回的数据???
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-03-16 00:02
实现思路:可以通过w3c的dom解析器进行操作。
举例:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DomTest1
{
public static void main(String[] args) throws Exception
{
// step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// System.out.println("class name: " + dbf.getClass().getName());
// step 2:获得具体的dom解析器
DocumentBuilder db = dbf.newDocumentBuilder();
// System.out.println("class name: " + db.getClass().getName());
// step3: 解析一个xml文档,获得Document对象(根结点)
Document document = db.parse(new File("candidate.xml"));
NodeList list = document.getElementsByTagName("PERSON");
for(int i = 0; i < list.getLength(); i++)
{
Element element = (Element)list.item(i);
String content = element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
System.out.println("name:" + content);
content = element.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
System.out.println("address:" + content);
content = element.getElementsByTagName("TEL").item(0).getFirstChild().getNodeValue();
System.out.println("tel:" + content);
content = element.getElementsByTagName("FAX").item(0).getFirstChild().getNodeValue();
System.out.println("fax:" + content);
content = element.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
System.out.println("email:" + content);
System.out.println("--------------------------------------");
}
}
}
全部回答
  • 1楼网友:大漠
  • 2021-03-16 01:29
//1. 创建解析器
SAXReader saxreader = new SAXReader();

//2. 读取文档
Document doc = saxreader.read(new File("e:/studentinfo.xml"));

//3. 获取根
Element root = doc.getRootElement();

//4. 获取子节点
List list = root.elements();

for(Element e : list){

System.out.println(e.elementText("name"));
System.out.println(e.element("score").attributeValue("java"));
}

对比着看就大概知道了
xml:



张三

20




里斯

30


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯