如何使用 XLINQ 获取最里面的孩子
我有这个 xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" manifestId="{b91dc6f6-a837-4c5a-bdc8-77a93107af77}" mandatory="No" xmlns="urn:schemas-microsoft-com:PAG:updater-application-block:v2:manifest">
<files base="http:abc/def" hashComparison="Yes" hashProvider="SHA1Managed">
<file source="123.dll" hash="oZlt8qISQxTNETMTSAfhdzJisj+kgir7oWS64+VMbRRCOXXE" />
<file source="234.dll" hash="39UEf/AIp+pSfH4WbftTPVysryCDJBJd/URmUbANpTiAmGHm" />
<file source="abc.dll" hash="2X5d8WfRtBuzLKNZ8geVfy3AmOKaUD7cSI17PbRyF8ds66Cx" />
</files>
</manifest>
我想从这个 XML 中获取所有文件节点,以便我可以获得源、哈希和瞬态的值以供我进一步的工作。
请用 XLINQ 告诉我...
I have this xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" manifestId="{b91dc6f6-a837-4c5a-bdc8-77a93107af77}" mandatory="No" xmlns="urn:schemas-microsoft-com:PAG:updater-application-block:v2:manifest">
<files base="http:abc/def" hashComparison="Yes" hashProvider="SHA1Managed">
<file source="123.dll" hash="oZlt8qISQxTNETMTSAfhdzJisj+kgir7oWS64+VMbRRCOXXE" />
<file source="234.dll" hash="39UEf/AIp+pSfH4WbftTPVysryCDJBJd/URmUbANpTiAmGHm" />
<file source="abc.dll" hash="2X5d8WfRtBuzLKNZ8geVfy3AmOKaUD7cSI17PbRyF8ds66Cx" />
</files>
</manifest>
I want to fetch all the file node out of this XML so that i can get the values of source,hash and transient for my further work..
Please tell me in XLINQ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您不关心父节点,则可以使用后代选择器来简化代码:
文件现在将存储强类型(匿名)对象的 IEnumerable,这些对象公开属性“Source”和“Hash”
If you do not care about the parent nodes, you could use the Descendants selector to simplify the code:
files will now store an IEnumerable of strongly typed (anonymous) objects, which expose the Properties 'Source' and 'Hash'
使用元素选择器:
请注意,由于清单标记中的无前缀 xmlns 声明,因此需要 XNamespace。
Use the Elements selector:
Note the need for an XNamespace because of the no-prefix xmlns declaration in the manifest tag.