如果我使用VS 2017最新补丁通过保存的文件查询以下XML代码,问题是我无法获得任何结果。
Dim SettingsFileAsElement As XElement = XElement.Load("MyXmlFile.xml")
在VB.NET中使用LINQ:
<?xml version="1.0" encoding="utf-8" ?>
<Settings>
<ConnnectionString>
<ID>1</ID>
<Name>ConnString 1</Name>
</ConnnectionString>
</Settings>
我的查询
Dim ConnnectionStrings = From ConnnectionString In SettingsAsElement...<ConnnectionString> _
Select ConnnectionString
' ConnnectionStrings as IEn(Of XElement)
工作正常,如果它像字符串一样使用
Dim SettingsAsElement As XElement = <Settings>
<ConnnectionString>
<ID>1</ID>
<Name>ConnString 1</Name>
</ConnnectionString>
</Settings>
文件的打开工作正常,我可以访问所有属性。 关键是,如果我比较XElements的属性( SettingsFileAsElement与SettingsAsElement ),它们是相同的。
FirstNode From String:1 ConnString 1
FirstNode From File:1 ConnString 1
HasAttributes From String:False
HasAttributes From File:False
来自String的HasElements:True
文件中的HasElements:True
IsEmpty From String:False
IsEmpty From File:False
LastNode From String:1 ConnString 1
LastNode From File:1 ConnString 1
字符串名称:设置
文件名称:设置
NodeType From String:Element
NodeType From File:Element
来自字符串的值:1ConnString 1
文件中的值:1ConnString 1
我甚至尝试使用XDocument访问该文件并查询它,然后我尝试将XDocument解析为XElement。结果对两者都没有。
我认为这可能是我的项目中的一些问题。所以我开了一个新的。只针对这个问题;但没有任何作用。
有什么想法吗? BG - Sven
编辑: 工作代码:
Dim SettingsAsElement As XElement = <Settings>
<ConnnectionString>
<ID>1</ID>
<Name>ConnString 1</Name>
</ConnnectionString>
</Settings>
'------
Dim ConnnectionStrings = From ConnnectionString In SettingsAsElement...<ConnnectionString> _
Select ConnnectionString
For Each ConnnectionString In ConnnectionStrings
ListBox1.Items.Add(ConnnectionString.<Name>.Value)
Next
' returned "data" in ConnnectionStrings = "ConnString 1"
不工作代码:
Dim SettingsFileAsElement As XElement = XElement.Load(Path)
ConnnectionStrings = From ConnnectionString In SettingsFileAsElement...<ConnectionString> _
Select ConnnectionString
For Each ConnnectionString In ConnnectionStrings
ListBox1.Items.Add(ConnnectionString.<Name>.Value)
Next
' returned "data" in ConnnectionStrings = Nothing
答案 0 :(得分:0)
您的文件代码缺少3个“n”的拼写错误“ConnnectionString”。
尝试
ConnnectionStrings = From ConnnectionString In SettingsFileAsElement...<ConnnectionString> _
Select ConnnectionString
<ConnnectionString>
中的3“n”。
或者更好的是,将拼写错误修复为两个“n”s