我必须从xml文件中删除多个xml名称空间。由于某些要求,我们正在为每个传入消息进行附加。因此,在最终文件中,我们需要删除以下XML名称空间。所有名称空间仅相同。需要删除那些重复的名称空间。
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Test xmlns:ns0="urn:demo:in:file">
<Header><Name>ABC</Name>
<no>1234</no>
<FileName>Invoice</FileName>
</Header>
<Detail>
<Id>
<Type>1</Type>
<Customerno>2</Customerno>
<Group>3</Group>
</Id>
</Detail>
</ns0:Test>
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Test xmlns:ns0="urn:demo:in:file">
<Header>
<Name>DEF</Name>
<no>1235</no>
<FileName>Invoice2</FileName>
</Header>
<Detail><Id>
<Type>2</Type>
<Customerno>3</Customerno>
<Group>4</Group>
</Id>
</Detail>
</ns0:Test>
在上面的文件中,我们有两个xml命名空间,但在输出中,它应该是一个xml命名空间并且节点应该在该命名空间下。以下是预期输出。
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Test xmlns:ns0="urn:demo:in:file">
<Header>
<Name>ABC</Name>
<no>1234</no>
<FileName>Invoice</FileName>
</Header>
<Detail>
<Id>
<Type>1</Type>
<Customerno>2</Customerno>
<Group>3</Group>
</Id>
</Detail>
<Header>
<Name>DEF</Name>
<no>1235</no>
<FileName>Invoice2</FileName>
</Header>
<Detail>
<Id>
<Type>2</Type>
<Customerno>3</Customerno>
<Group>4</Group>
</Id>
</Detail>
</ns0:Test>
请帮我完成这项工作,以达到预期的产出。
谨致问候,Janardhan
您的问题不仅仅是名称空间。您似乎正在尝试连接XML文档。然而
- 处理指令只允许在文档的开头,而不允许在在中间。因此,附加以该行开头的内容已经很糟糕了
- XML每个文档需要一个顶级元素。如果在该顶级元素之后附加一些内容,则再次出现错误
因此,您需要引入一个新的顶级元素,然后将所有文档的顶级元素作为子元素添加到新的顶级中。只有这样,您才能考虑名称空间,并尝试使输出更有效率。