【发布时间】:2022-01-15 21:05:56
【问题描述】:
大家好,我正在尝试访问 XML 中的指定值。但我的 POST 请求以这种格式将其作为字符串返回:
string smsList = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<response>\n\t<Count>2</Count>\n\t<Messages>\n\t\t<Message>\n\t\t\t<Smstat>0</Smstat>\n\t\t\t<Index>20001</Index>\n\t\t\t<Phone>+number</Phone>\n\t\t\t<Content>Test4</Content>\n\t\t\t<Date>2021-12-11 14:24:23</Date>\n\t\t\t<Sca>+number</Sca>\n\t\t\t<SaveType>4</SaveType>\n\t\t\t<Priority>0</Priority>\n\t\t\t<SmsType>1</SmsType>\n\t\t</Message>\n\t\t<Message>\n\t\t\t<Smstat>0</Smstat>\n\t\t\t<Index>20000</Index>\n\t\t\t<Phone>+number</Phone>\n\t\t\t<Content>Test3</Content>\n\t\t\t<Date>2021-12-11 14:02:48</Date>\n\t\t\t<Sca>+number</Sca>\n\t\t\t<SaveType>4</SaveType>\n\t\t\t<Priority>0</Priority>\n\t\t\t<SmsType>1</SmsType>\n\t\t</Message>\n\t</Messages>\n</response>"
smsList = smsList.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", "");
smsList = smsList.Replace("\n", "");
smsList = smsList.Replace("\t", "");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(smsList);
但问题是我测试了多重变体以访问属性消息/消息,但它没有返回任何内容。
【问题讨论】:
-
1.为什么要删除第一行以及空格和换行符?
XmlDocument将处理它。 2.请求返回的是字符串还是你读取响应的内容为字符串? -
我不确定,因为我正在尝试访问消息/消息属性。但它什么也找不到。像空 XML 或返回“文档”文本值。/
-
这是你想要做的吗? dotnetfiddle.net/DEEhRy
-
每条消息希望以 Smstat;Index;Phone;Content;Date;Sca;SaveType;Priority;SmsType 格式保存的差异很小