为测试格式化XML数据
我有一个XML文件中的数据,需要以某种方式提取和显示,以便运行一些测试 XML中的数据如下所示:为测试格式化XML数据,xml,Xml,我有一个XML文件中的数据,需要以某种方式提取和显示,以便运行一些测试 XML中的数据如下所示: <is:Person> <is:PersonId/> <is:NationalIdentificationNumber/> <is:Name> <dg:Title/> is:Person/is:PersonID is:Person/is:NationalIdentificationNumber is
<is:Person>
<is:PersonId/>
<is:NationalIdentificationNumber/>
<is:Name>
<dg:Title/>
is:Person/is:PersonID
is:Person/is:NationalIdentificationNumber
is:Person/is:Name/
is:Person/is:Name/dg:Title
我该怎么做?您问题中的数据不是格式良好的XML。它没有结束标记 添加结束标记后,可以在其上使用以获取结构:
$ xmlstarlet el [input file]
输出几乎与您在问题中所显示的相同:
is:Person
is:Person/is:PersonId
is:Person/is:NationalIdentificationNumber
is:Person/is:Name
is:Person/is:Name/dg:Title
它会抱怨is和dg是未定义的名称空间。XML不需要使用名称空间,当不使用名称空间时,XML验证器应该接受元素名称中的冒号。然而,我不知道有哪个标志能让xmlstarlet不抱怨这一点 我不知道应该尝试在问题中显示的XML中添加什么。您应该阅读XML的基础知识,因为这确实是基础知识。请使用重定向:xmlstarlet el[输入文件]>[要存储输出的文件路径]。