java - 在java中解析xml数据

标签 java xml

我有一个要求是从 xml 中获取数据。

字符串资源;

数据将在字符串 res 中,如下所示。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<person>
  <id>QZhx_w1eEJ</id>
  <first-name>pratap</first-name>
  <last-name>murukutla</last-name>
</person>

我必须从这些数据中获取 ID 以及名字和姓氏,并且必须存储在变量 id、名字、姓氏中

如何访问 xml 以获取这些详细信息。

最佳答案

您可以使用 JAXB (JSR-222) 并执行以下操作。 Java SE 6 中包含一个实现。

演示

package forum10520757;

import java.io.StringReader;
import javax.xml.bind.*;
import javax.xml.bind.annotation.*;

public class Demo {

    public static void main(String[] args) throws Exception {
        JAXBContext jc = JAXBContext.newInstance(Person.class);

        Unmarshaller unmarshaller = jc.createUnmarshaller();
        StringReader xml = new StringReader("<person><id>QZhx_w1eEJ</id><first-name>pratap</first-name><last-name>murukutla</last-name></person>");
        Person person = (Person) unmarshaller.unmarshal(xml);

        System.out.println(person.id);
        System.out.println(person.firstName);
        System.out.println(person.lastName);
    }

    @XmlRootElement
    @XmlAccessorType(XmlAccessType.FIELD)
    static class Person {
        String id;

        @XmlElement(name="first-name")
        String firstName;

        @XmlElement(name="last-name")
        String lastName;
    }

}

输出

QZhx_w1eEJ
pratap
murukutla

关于java - 在java中解析xml数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10520757/

相关文章:

java - "style="?textTitle"是什么意思,它是如何工作的?

java - 错误:Error: Could not create the Java Virtual Machine

java - 如何使用java合并json数组?

java - 代号一 : Implementing a calculation for a fluid tracker

java - 在内置模板规则中找不到名为 {NAME}METHOD() 的匹配 0 参数函数

c# - 如何在文档内的 XML 中添加一个命名空间和另一个带有前缀的命名空间

java - 禁用Java应用程序中运行的屏幕捕获软件

java - 当我单击按钮时导航屏幕打开,但当我再次单击它时它不会再次关闭

xml - 以类似 SAX 的方式从磁盘二进制搜索 XML - 明智吗?可能的?

xml - 戈朗 :xml unmarshall not working as expected