我需要反序列化字符串 XML,但遇到问题。
[XMLRoot]
public class OP
{
[XmlElement]
public string Auth;
[XmlElement]
public string User;
[XmlElement]
public string Password;
[XmlElement]
public string Client;
[XmlElement]
public string DownloadCode;
[XmlElement]
public string PartNumber;
[XmlElement]
public int FlexPO;
[XmlArray]
public string Terminals;
[XmlElement]
public string User;
}
public void Test()
{
var serializer = new XmlSerializer(typeof(OP));
OP result;
using (TextReader reader = new StringReader(XML))
{
result = (OP)serializer.Deserialize(reader);
}
}
这是代码,这是 XML:
<CreateManufactoryOrder xmlns="http://tempuri.org/">
<op>
<Auth>
<User>User</User>
<Password>Password</Password>
</Auth>
<Client>01425787000104</Client>
<DownloadCode>0460.0001</DownloadCode>
<PartNumber>M268-773-C4-BRA-3</PartNumber>
<FlexPO>887614_364</FlexPO>
<Terminals>
<String>529-995-835</String>
<String>529-995-836</String>
<String>529-995-837</String>
<String>529-995-838</String>
</Terminals>
</op>
</CreateManufactoryOrder>
因此,当我调试代码时返回错误: XML 文档 (1, 2) 中存在错误。 我已经尝试以多种方式更改代码,但没有运行。
最佳答案
您需要指定根元素名称和命名空间,更新您的 [XmlRoot]
属性,如下所示:
[XmlRoot(ElementName = "CreateManufactoryOrder", Namespace= "http://tempuri.org/")]
我验证了添加后它现在反序列化没有问题。
关于c# - 反序列化字符串 XML 并出现错误 :There is an error in XML document (1, 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30128732/