【发布时间】:2013-08-16 03:00:42
【问题描述】:
这是我提取元素的方式,但是当我尝试获取属性值时,我得到的只是一些数字而不是 Guid 字符串:
... = from c in xdoc.Element(mdpr + "A")
.Elements(mdpr + "B")
.Elements(mdpr + "C")
let data= c
select new MyData
{
state = (string)data.Element(mdpr + "state"),
TEMP = (string)data.Attribute("guidNumber") // TEMP is string
...
这是 XML:
...
<mdpr:B>
<mdpr:C guidNumber="4t56u27b-b784-4303-b710-95966b6e68ba" >
<mdpr:state>17</mdpr:state>
...
更新
如果 XML 有“{”,那么它可以工作:
<mdpr:C guidNumber="4t56u27b-b784-4303-b710-95966b6e68ba" > // doesn't work
<mdpr:C guidNumber="{4t56u27b-b784-4303-b710-95966b6e68ba}" > // work
但是如何获得这个值呢?
【问题讨论】:
-
您知道这是一个无效的 GUID 字符串吗?它包含一个
t,它不是十六进制字符 -
不,我已经更改了这里的问题 Guid 是有效的,但 '{' 导致获取它的值时出现问题。
标签: c# xml xml-parsing linq-to-xml