我该如何解析这种格式化的XML?
问题描述:
这是从外部来源我该如何解析这种格式化的XML?
<d:entry id="_qkq" d:title="DuMont Television Network">
<d:index d:value="DuMont Television Network" d:title="DuMont Television Network"/>
<d:index d:value="dumont tv" d:title="DuMont Television Network"/>
<d:index d:value="dumont network" d:title="DuMont Television Network"/>
<h1>DuMont Television Network</h1>
some value etc
</d:entry>
当前格式我有如果是类似下面一个我可以很容易地解析它。所以任何想法如何解析它像下面或将其转换为以下格式?
<entry>
<entryId>_qkq</entryId>
<entryTitle>DuMont Television Network</entryTitle>
<entryIndex>
<value>DuMont Television Network</value>
<title>DuMont Television Network</title>
</entryIndex>
<entryIndex>
<value>dumont tv</value>
<title>DuMont Television Network</title>
</entryIndex>
<entryIndex>
<value>dumont network</value>
<title>DuMont Television Network</title>
</entryIndex>
<entryValue>
<h1>DuMont Television Network</h1>
some value etc
</entryValue>
</entry>
非常感谢你的答案
答
好吧,这是相当容易的,可以在许多许多的方式来完成,但为了便于开发:
- 生成此XML类 - 在Visual Studio中,创建新的代码文件。将完整的XML复制到剪贴板。点击
Edit-paste special - Paste XML as classes
。
这将为您提供必要的课程,根目录为dictionary
。 (如果你想我可以添加所产生的上市) -
然后,在任何必要的文件,你可以做到以下几点:
var data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \r\n<d:dictionary xmlns=\"w3.org/1999/xhtml\" xmlns:d=\"apple.com/DTDs/DictionaryService-1.0.rng\">\r\n\t<d:entry id=\"_qkq\" d:title=\"DuMont Television Network\">\r\n\t\t<d:index d:value=\"DuMont Television Network\" d:title=\"DuMont Television Network\"/>\r\n\t\t<d:index d:value=\"dumont tv\" d:title=\"DuMont Television Network\"/>\r\n\t\t<d:index d:value=\"dumont network\" d:title=\"DuMont Television Network\"/>\r\n\t\t<h1>DuMont Television Network</h1>\r\n\t</d:entry>\r\n</d:dictionary>"; XmlSerializer serializer = new XmlSerializer(typeof(dictionary)); using (TextReader reader = new StringReader(data)) { dictionary result = (dictionary)serializer.Deserialize(reader); }
的result
现在包含您的数据:
你可以使用这个:https://msdn.microsoft.com/de-de/library/system.xml.linq.xelement(v=vs.110).aspx –
我会重复一次上次的评论你好d问这个问题。这不是一个代码写入服务,尝试一些东西,然后返回一个提供[MCVE]的特定问题。 – TheLethalCoder
为了让你更容易,你有问题解析元素名称的'd:'部分或获得访问属性? – TheLethalCoder