C# 使用XmlDocument格式化XML

C# 使用XmlDocument格式化XML,c#,xml,linq-to-xml,C#,Xml,Linq To Xml,我试图使用XmlDocument创建一个XML文件,然后将其传递给API。大多数数据输出正确,但有一个元素不正确,无论我如何尝试 这是我当前的输出 <agentInventoryReference xmlns="demo.org.uk/demo/AgentInventoryReference" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <agentInventoryIdentity xmlns="">

我试图使用XmlDocument创建一个XML文件,然后将其传递给API。大多数数据输出正确,但有一个元素不正确,无论我如何尝试

这是我当前的输出

<agentInventoryReference xmlns="demo.org.uk/demo/AgentInventoryReference"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<agentInventoryIdentity xmlns="">
<shed xmlns="demo.org.uk/demom/AgentInventoryIdentifier">TAX</shed> 
<arrivalPort xmlns="demo.org.uk/demo/AgentInventoryIdentifier">LHR</arrivalPort> 
<masterAirwayBillPrefix xmlns="demo.org.uk/demo/AgentInventoryIdentifier">125</masterAirwayBillPrefix> 
<masterAirwayBillNumber xmlns="demo.org.uk/demo/AgentInventoryIdentifier">12345678</masterAirwayBillNumber> 
<nominatedAgent xmlns="demo.org.uk/demo/AgentInventoryIdentifier">DRB</nominatedAgent> 
</agentInventoryIdentity>
试试这个:

XmlElement agentInventoryIdentity = generateInventoryXml.CreateElement("agentInventoryIdentity",generateInventoryXml.DocumentElement.NamespaceURI);`

是否要从XDocument中删除xmlns?仅从元素中您的标题为XDocument,但您的代码正在使用XmlDocument-更改您的标题。
XmlElement agentInventoryIdentity = generateInventoryXml.CreateElement("agentInventoryIdentity",generateInventoryXml.DocumentElement.NamespaceURI);`
XmlElement agentInventoryIdentity = generateInventoryXml.CreateElement("agentInventoryIdentity","demo.org.uk/demo/AgentInventoryReference");