我在将XML反序列化为C#模型时遇到了问题。我从外部API中提取XML,所以我无法控制它。它有多个"InnerText“节点,序列化后的节点无法正确反序列化(最后一个节点获胜,其他节点丢失)。
我已经用XmlDocument类解决了这个问题,但是我需要用模型来解决这个问题。
我试图反序列化的XML:
<root>
<passage>
<hlword>Test</hlword>
your Internet.....
<hlword>test</hlword>
from Ookla.
</passage>
</root>C#类:
[XmlRoot(ElementName = "passage")]
public class Passage
{
[XmlElement(ElementName = "hlword")]
public List<string> Hlword { get; set; }
[XmlText]
public string InnerText { get; set; }
}
[XmlRoot(ElementName = "root")]
public class Root
{
[XmlElement(ElementName = "passage")]
public List<Passage> Passage { get; set; }
[XmlText]
public string InnerText { get; set; }
}从上面的例子中,我需要提取:“测试你的互联网……测试从Ookla",而不是我得到的Passage类的列表与2 Hlword(内部文本”测试“)和Root类的内部文本”从Ookla“。省略元素后的所有文本。
发布于 2019-11-07 18:15:52
尝试使用XmlDocument读取内部文本
var doc = new XmlDocument();
doc.LoadXml(xmlString);
var text = doc.SelectSingleNode("root/passage").InnerText;https://stackoverflow.com/questions/58746240
复制相似问题