如何删除重复的 XML 声明
How to remove duplicate XML declaration
我正在通过 Jersey 客户端收到以下 XML 响应
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><aaa><bbb key="Data"><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<my-data xsi:noNamespaceSchemaLocation="MyData.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<data name="abc" uniqueId="4fe95637-a381-4e0c-bf7f-49f794df5f23">
<variable var1="xyz" value="44"/>
</data>
</my-data>
</bbb></aaa>
我将其保存为 XML 文件并在解析期间出现 'premature end of file' 错误,因为 XML 格式错误(重复 XML 声明)...有没有办法从输出中删除以下重复条目?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
以下是我的 Java 代码片段:
String output = response.getEntity(String.class);
file = writeResponseToFile(output,"MyData.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(file); //Error
理想情况下,您应该从源头上解决问题。您收到的不是 XML,因为有多个 XML 声明违反了 XML 的基本语法,导致数据格式不正确。
如果无法从源头上正确解决问题,并且您希望尝试修复,则必须将该数据视为文本,而不是 XML,直到您删除多余的 XML 声明(通过文本级操作,而不是 XML 解析)。
修复您收到的 xml。您在 xml.
中收到两个声明
xml 格式不正确。请记住,在 Jersey 中,您可以通过注释和 @Produces.
在 JSON、xml、html 等上接收文件
请记住,您在互联网上有 xml 个验证器来验证您的 xml。
此致。
我正在通过 Jersey 客户端收到以下 XML 响应
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><aaa><bbb key="Data"><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<my-data xsi:noNamespaceSchemaLocation="MyData.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<data name="abc" uniqueId="4fe95637-a381-4e0c-bf7f-49f794df5f23">
<variable var1="xyz" value="44"/>
</data>
</my-data>
</bbb></aaa>
我将其保存为 XML 文件并在解析期间出现 'premature end of file' 错误,因为 XML 格式错误(重复 XML 声明)...有没有办法从输出中删除以下重复条目?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
以下是我的 Java 代码片段:
String output = response.getEntity(String.class);
file = writeResponseToFile(output,"MyData.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(file); //Error
理想情况下,您应该从源头上解决问题。您收到的不是 XML,因为有多个 XML 声明违反了 XML 的基本语法,导致数据格式不正确。
如果无法从源头上正确解决问题,并且您希望尝试修复,则必须将该数据视为文本,而不是 XML,直到您删除多余的 XML 声明(通过文本级操作,而不是 XML 解析)。
修复您收到的 xml。您在 xml.
中收到两个声明xml 格式不正确。请记住,在 Jersey 中,您可以通过注释和 @Produces.
在 JSON、xml、html 等上接收文件请记住,您在互联网上有 xml 个验证器来验证您的 xml。
此致。