Java 如何将字符串格式的xml解析为数组?

Java 如何将字符串格式的xml解析为数组?,java,string,Java,String,有如下字符串格式的xml: <Users> <User> <name>Alex</name> ...other info </User> <User> <name>Natasha</name> ...other info </User> </Users> 亚历克斯 …其他信息 娜塔莎 …其他信息 如何将

有如下字符串格式的xml:

<Users>
  <User> 
      <name>Alex</name>  
      ...other info
  </User>
  <User>
      <name>Natasha</name>
      ...other info
  </User>
</Users>

亚历克斯
…其他信息
娜塔莎
…其他信息
如何将这样的字符串拆分为字符串的数组


我的常见任务是,获取输入xml,在元素上拆分,每个元素分别序列化并保存在数据库中。因此,对于我的任务SAX,只能使用模式和匹配器。

SAX解析器是我的最爱,您可以尝试:


以下是示例xml解析代码示例:

Sax解析器是我的最爱,您可以尝试:


这是一个示例xml解析代码示例,来自:

假设您需要如下输出

names[] = {"Alex", "Natasha"};
从XML文件:

<Users>
  <User> 
      <name>Alex</name>  
      <city>New York</city> 
  </User>
  <User>
      <name>Natasha</name>
      <city>New Jersey</city> 
  </User>
</Users>
然后将XML文件读取为:

public static void main(String[] args) throws XMLStreamException, IOException {
        XmlMapper xmlMapper = new XmlMapper();
        Users users = xmlMapper.readValue(new File("yourFileName"), Users.class);
        Object[] names = users.getUsers()
                            .stream()
                            .map(u -> u.getName())
                            .collect(Collectors.toList())
                            .toArray();
        //You may have to cast the names to String
    }

假设您想要像这样的输出

names[] = {"Alex", "Natasha"};
从XML文件:

<Users>
  <User> 
      <name>Alex</name>  
      <city>New York</city> 
  </User>
  <User>
      <name>Natasha</name>
      <city>New Jersey</city> 
  </User>
</Users>
然后将XML文件读取为:

public static void main(String[] args) throws XMLStreamException, IOException {
        XmlMapper xmlMapper = new XmlMapper();
        Users users = xmlMapper.readValue(new File("yourFileName"), Users.class);
        Object[] names = users.getUsers()
                            .stream()
                            .map(u -> u.getName())
                            .collect(Collectors.toList())
                            .toArray();
        //You may have to cast the names to String
    }

尝试一个解析器,例如,如果你不知道如何使用DOM解析器,你可以查看这个主题。例如,这个主题也被打开了很多次,因此我强烈建议阅读手册,尝试一下,如果失败,请使用spesific,然后再问一次。。祝你度过愉快的一天尝试一个解析器,例如,如果你不知道如何使用DOM解析器,你可以检查这个主题。例如,这个主题也被打开了很多次,所以我强烈建议你阅读手册,再试一次,如果你失败了,请特别说明,然后再次询问。。祝你今天愉快