Java 如何将字符串格式的xml解析为数组?
有如下字符串格式的xml:Java 如何将字符串格式的xml解析为数组?,java,string,Java,String,有如下字符串格式的xml: <Users> <User> <name>Alex</name> ...other info </User> <User> <name>Natasha</name> ...other info </User> </Users> 亚历克斯 …其他信息 娜塔莎 …其他信息 如何将
<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解析器,你可以检查这个主题。例如,这个主题也被打开了很多次,所以我强烈建议你阅读手册,再试一次,如果你失败了,请特别说明,然后再次询问。。祝你今天愉快