xml - XML到c#字符串数组
问题描述
我有一个这样的xml
<?xml version="1.0" encoding="UTF-8"?>
<case>
<e>
<Time>05-08-2018 11:46:19</Time>
<Number null="true"/>
<code1 null="true"/>
<code2>27341</code2>
<code3>27341</code3>
</e>
<e>
<Time>05-07-2018 12:11:19</Time>
<Number>WC1110</Number>
<code1>50121</code1>
<code2>54091</code2>
<code3>14880</code3>
</e>
</case>
我想将标签名称和值都放入 string[] 结果中,这样
result[0] = "Time,05-08-2018 11:46:19";
result[1] = "Number,";
result[2] = "code1,";
result[3] = "code2,27341";
result[4] = "code3,27341";
result[5] = "Time,05-07-2018 12:11:19";
result[6] = "Number,WC1110";
result[7] = "code1,50121";
result[8] = "code2,54091";
result[9] = "code3,14880";
我尝试了以下代码,没有指定标签名称(动态),它只获取非空值但无法获取标签名称。
XDocument doc = XDocument.Parse(finalResult);
var rows = from row in doc.Root.Elements("case") select row;
var result = rows.SelectMany(o => o.Elements())
.OrderBy(o => o.Name.LocalName)
.Select(o => (string)o).ToArray();
谢谢!
解决方案
我使用 Paste Special -> Paste XML As Class 方法生成类并使用生成的方法获取值
推荐阅读
- vba - PowerPoint VBA - 基于水平轴数据标签的图表颜色
- reactiveui - ReactiveUI WhenActivated 在 Android 上抛出 ObjectDisposedException
- python - 用另一列中的值替换熊猫列值
- python - 连接到 Firestore 上的辅助数据库
- python - Can't record screen using mss and cv2
- javascript - Angular 2/4/5 (Not AngularJS) :- how can I take .offset().top of an element?
- xml - 使用 shell 脚本更新同一 xml 文件中的文本
- twitter-bootstrap - css3:制作标题导航菜单
- angular - Angular 6 对 .NET Web API 的跨域 POST 请求返回 401(未经授权)
- firebase - 在创建云函数以响应特定节点上的 onDisconnect 事件时需要帮助 - Firebase