1
我有一个字符串的XML读取XML字符串转换成列表
<message code="L1" />
<message code="D1" />
<message code="A1">NAME: JON ID: 99017 CODE: 111222333 TYPE: ST</message>
<message code="A2">NTC: RISK: START: 09/01/2015 STATUS: ACTIVE</message>
<message code="CD">STATE: MS LAST CANCEL REASON:</message>
<message code="A4">A, TIM (PRIMARY) OS 09/01/2015 09/01/2016</message>
<message code="D1" />
<message code="A1">NAME: Tim ID: 99017 CODE: 111222333 TYPE: ST</message>
<message code="A2">NTC: RISK: START: 09/01/2015 STATUS: EXPIRED</message>
<message code="CD">STATE: MS LAST CANCEL REASON:</message>
<message code="A4">A, TIM (PRIMARY) OS 09/01/2014 09/01/2015</message>
<message code="D1" />
我想读这个字符串的xml到一个列表。如果你看到这个XML,它包含两个部分
<message code="A1">NAME: JON ID: 99017 CODE: 111222333 TYPE: ST</message>
<message code="A2">NTC: RISK: START: 09/01/2015 STATUS: ACTIVE</message>
<message code="CD">STATE: MS LAST CANCEL REASON:</message>
<message code="A4">A, TIM (PRIMARY) OS 09/01/2015 09/01/2016</message>
<message code="D1" />
而且
<message code="A1">NAME: Tim ID: 99017 CODE: 111222333 TYPE: ST</message>
<message code="A2">NTC: RISK: START: 09/01/2015 STATUS: EXPIRED</message>
<message code="CD">STATE: MS LAST CANCEL REASON:</message>
<message code="A4">A, TIM (PRIMARY) OS 09/01/2014 09/01/2015</message>
<message code="D1" />
我想要得到的元素融入列表作为
var subjects= new List<subject>();
subjects.Add(new subject()
{
Name = JON,
State = MS
})
我试图通过foreach所的XMLNode,然后使用子字符串来获取值。
请出示第二种方法*正是*你试过了,以[mcve]的形式出了什么问题。 –
*我尝试通过foreach在xmlnode上,然后使用substring来获取值。*那么,这是一个很好的方法,对你有好处,你有什么问题吗? – Gusman
由于您似乎有多个根元素,因此这不是有效的Xml。您需要将每行视为单独的Xml文档,或者将XmlReaderSettings.ConformanceLevel设置为ConformanceLevel.Fragment;然后相应地后处理它。 – Pawel