Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何读取XML文件_Xml_Vb.net_Xmlreader - Fatal编程技术网

如何读取XML文件

如何读取XML文件,xml,vb.net,xmlreader,Xml,Vb.net,Xmlreader,我有一个VB.net程序。我正在尝试使用XMLReader读取.xml文件。在本例中,我想将XML文件分解成不同的“部分”“FormTitle”和“ButtonTitle”。我想从FormTitle中获取数据,并将其显示为表单“text”,将放在“ButtonTitle”中,并将其显示在按钮文本中 这是我的XML文件: <?xml version="1.0" encoding="utf-8"?> <!--XML Database.--> <FormTitle>

我有一个VB.net程序。我正在尝试使用XMLReader读取.xml文件。在本例中,我想将XML文件分解成不同的“部分”
“FormTitle”
“ButtonTitle”
。我想从
FormTitle
中获取
数据,并将其显示为表单
“text”
,将
放在
“ButtonTitle”
中,并将其显示在按钮文本中

这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
<FormTitle>
    <Text>Form Test</Text>
</FormTitle>
<ButtonTitle>
    <Text>Button Test</Text>
</ButtonTitle>
如何将下一节
(Buttontile)
FormTitle
中的名称相同,即
(Text)
。我假设我需要在if-then语句中引用
FormTitle
ButtonTitle

查看此示例

您可以使用:

doc.GetElementsByTagName("FormTitle")
然后,可以在所有子节点之间循环


使用XDocument可以更高效地读取Xml,而且由于语法更少,可读性也更高

您需要向XML中添加根。我叫它根,但它可以是任何东西。它只是封装了所有XML

<?xml version="1.0" encoding="utf-8"?>
<root>
<FormTitle>
    <Text>Form Test</Text>
</FormTitle>
<ButtonTitle>
    <Text>Button Test</Text>
</ButtonTitle>
</root>
为表单指定文本

Form1.Text = title.First()

请注意,XML文件的格式不正确。XML文件应该始终有一个根元素,而您的根元素有两个-FormTitle和Buttontile。也许你应该把它们包装在一个父元素中,也许。我不确定我是否理解最后一部分。你的“模糊标题”你在这里干什么?获得的价值?如果是,您将如何将表单文本更改为该格式?我尝试了“me.text=title.tostring”,但没用。在解释的底部添加了额外的一点Dim title'正在创建一个名为title的变量,该变量是IEnumerable。调用.First获取枚举中的第一个值。在本例中,无论如何只有1个。太好了,之后的每个值都是“second”“Third”等等?如果有多个元素,您将使用循环遍历它们。下面是一个包含大量vb.net示例的良好链接,可帮助您掌握基本知识:
<?xml version="1.0" encoding="utf-8"?>
<root>
<FormTitle>
    <Text>Form Test</Text>
</FormTitle>
<ButtonTitle>
    <Text>Button Test</Text>
</ButtonTitle>
</root>
    Dim document As XDocument = XDocument.Load("c:\tmp\test.xml")
    Dim title = From t In document.Descendants("FormTitle") Select t.Value
Form1.Text = title.First()