How to retrieve data from XML using LINQ in VB.NET?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I cannot find a way to get the values from an XML file using LINQ.
Here is the code:
Dim XMLDoc As XDocument = XDocument.Load(XMLPath)
Dim query = From ex In XMLDoc.Descendants.Elements("DSServer")
Select New With
{
.svrname = ex.Element("ServerName"),
.BG = ex.Element("IsBG")
}
For Each t In query
MsgBox(t.svrname.Value.ToString + " " + t.BG.Value.ToString)
Next
And here is the XML
<?xml version="1.0" standalone="yes"?>
<DSPaths xmlns="http://tempuri.org/DSPaths.xsd">
<DSServer>
<ServerName>test1Name</ServerName>
<ServerIP>test1</ServerIP>
<ServerPath>test1</ServerPath>
<Destination>test1</Destination>
<IsBG>true</IsBG>
</DSServer>
<DSServer>
<ServerName>test2Name</ServerName>
<ServerIP>test2</ServerIP>
<ServerPath>test2</ServerPath>
<Destination>test2</Destination>
<IsBG>true</IsBG>
</DSServer>
</DSPaths>
What am I doing wrong?
The code does not return anything...
vb.net linq
add a comment |
I cannot find a way to get the values from an XML file using LINQ.
Here is the code:
Dim XMLDoc As XDocument = XDocument.Load(XMLPath)
Dim query = From ex In XMLDoc.Descendants.Elements("DSServer")
Select New With
{
.svrname = ex.Element("ServerName"),
.BG = ex.Element("IsBG")
}
For Each t In query
MsgBox(t.svrname.Value.ToString + " " + t.BG.Value.ToString)
Next
And here is the XML
<?xml version="1.0" standalone="yes"?>
<DSPaths xmlns="http://tempuri.org/DSPaths.xsd">
<DSServer>
<ServerName>test1Name</ServerName>
<ServerIP>test1</ServerIP>
<ServerPath>test1</ServerPath>
<Destination>test1</Destination>
<IsBG>true</IsBG>
</DSServer>
<DSServer>
<ServerName>test2Name</ServerName>
<ServerIP>test2</ServerIP>
<ServerPath>test2</ServerPath>
<Destination>test2</Destination>
<IsBG>true</IsBG>
</DSServer>
</DSPaths>
What am I doing wrong?
The code does not return anything...
vb.net linq
2
I would assume that XMLDoc.Descendants.Elements("DSServer") doesn't return any value. So the problem should be before any LINQ. Have you tried removing (in the xml) or specifying (in the code) the namespace?
– the_lotus
Nov 23 '18 at 19:24
How can i do to specify the namespace? I tried removing the namespace in the XML file and it now works... but the thing is that my code writes the using an XSD file, so it enters the namespace in the XML.
– InfiniteLoop
Nov 23 '18 at 19:28
I tried adding the following: Imports <xmlns="tempuri.org/DSPaths.xsd"> but the code returns nothing (I did put back the namespace in the XML)
– InfiniteLoop
Nov 23 '18 at 19:38
add a comment |
I cannot find a way to get the values from an XML file using LINQ.
Here is the code:
Dim XMLDoc As XDocument = XDocument.Load(XMLPath)
Dim query = From ex In XMLDoc.Descendants.Elements("DSServer")
Select New With
{
.svrname = ex.Element("ServerName"),
.BG = ex.Element("IsBG")
}
For Each t In query
MsgBox(t.svrname.Value.ToString + " " + t.BG.Value.ToString)
Next
And here is the XML
<?xml version="1.0" standalone="yes"?>
<DSPaths xmlns="http://tempuri.org/DSPaths.xsd">
<DSServer>
<ServerName>test1Name</ServerName>
<ServerIP>test1</ServerIP>
<ServerPath>test1</ServerPath>
<Destination>test1</Destination>
<IsBG>true</IsBG>
</DSServer>
<DSServer>
<ServerName>test2Name</ServerName>
<ServerIP>test2</ServerIP>
<ServerPath>test2</ServerPath>
<Destination>test2</Destination>
<IsBG>true</IsBG>
</DSServer>
</DSPaths>
What am I doing wrong?
The code does not return anything...
vb.net linq
I cannot find a way to get the values from an XML file using LINQ.
Here is the code:
Dim XMLDoc As XDocument = XDocument.Load(XMLPath)
Dim query = From ex In XMLDoc.Descendants.Elements("DSServer")
Select New With
{
.svrname = ex.Element("ServerName"),
.BG = ex.Element("IsBG")
}
For Each t In query
MsgBox(t.svrname.Value.ToString + " " + t.BG.Value.ToString)
Next
And here is the XML
<?xml version="1.0" standalone="yes"?>
<DSPaths xmlns="http://tempuri.org/DSPaths.xsd">
<DSServer>
<ServerName>test1Name</ServerName>
<ServerIP>test1</ServerIP>
<ServerPath>test1</ServerPath>
<Destination>test1</Destination>
<IsBG>true</IsBG>
</DSServer>
<DSServer>
<ServerName>test2Name</ServerName>
<ServerIP>test2</ServerIP>
<ServerPath>test2</ServerPath>
<Destination>test2</Destination>
<IsBG>true</IsBG>
</DSServer>
</DSPaths>
What am I doing wrong?
The code does not return anything...
vb.net linq
vb.net linq
edited Nov 23 '18 at 19:30
marc_s
585k13011251272
585k13011251272
asked Nov 23 '18 at 19:18
InfiniteLoopInfiniteLoop
5611
5611
2
I would assume that XMLDoc.Descendants.Elements("DSServer") doesn't return any value. So the problem should be before any LINQ. Have you tried removing (in the xml) or specifying (in the code) the namespace?
– the_lotus
Nov 23 '18 at 19:24
How can i do to specify the namespace? I tried removing the namespace in the XML file and it now works... but the thing is that my code writes the using an XSD file, so it enters the namespace in the XML.
– InfiniteLoop
Nov 23 '18 at 19:28
I tried adding the following: Imports <xmlns="tempuri.org/DSPaths.xsd"> but the code returns nothing (I did put back the namespace in the XML)
– InfiniteLoop
Nov 23 '18 at 19:38
add a comment |
2
I would assume that XMLDoc.Descendants.Elements("DSServer") doesn't return any value. So the problem should be before any LINQ. Have you tried removing (in the xml) or specifying (in the code) the namespace?
– the_lotus
Nov 23 '18 at 19:24
How can i do to specify the namespace? I tried removing the namespace in the XML file and it now works... but the thing is that my code writes the using an XSD file, so it enters the namespace in the XML.
– InfiniteLoop
Nov 23 '18 at 19:28
I tried adding the following: Imports <xmlns="tempuri.org/DSPaths.xsd"> but the code returns nothing (I did put back the namespace in the XML)
– InfiniteLoop
Nov 23 '18 at 19:38
2
2
I would assume that XMLDoc.Descendants.Elements("DSServer") doesn't return any value. So the problem should be before any LINQ. Have you tried removing (in the xml) or specifying (in the code) the namespace?
– the_lotus
Nov 23 '18 at 19:24
I would assume that XMLDoc.Descendants.Elements("DSServer") doesn't return any value. So the problem should be before any LINQ. Have you tried removing (in the xml) or specifying (in the code) the namespace?
– the_lotus
Nov 23 '18 at 19:24
How can i do to specify the namespace? I tried removing the namespace in the XML file and it now works... but the thing is that my code writes the using an XSD file, so it enters the namespace in the XML.
– InfiniteLoop
Nov 23 '18 at 19:28
How can i do to specify the namespace? I tried removing the namespace in the XML file and it now works... but the thing is that my code writes the using an XSD file, so it enters the namespace in the XML.
– InfiniteLoop
Nov 23 '18 at 19:28
I tried adding the following: Imports <xmlns="tempuri.org/DSPaths.xsd"> but the code returns nothing (I did put back the namespace in the XML)
– InfiniteLoop
Nov 23 '18 at 19:38
I tried adding the following: Imports <xmlns="tempuri.org/DSPaths.xsd"> but the code returns nothing (I did put back the namespace in the XML)
– InfiniteLoop
Nov 23 '18 at 19:38
add a comment |
1 Answer
1
active
oldest
votes
If you can't remove the namespace from the xml, you'll need to specify the namespace in the query.
Dim ns As XNamespace = "http://tempuri.org/DSPaths.xsd"
Dim query = From ex In XMLDoc.Descendants.Elements(ns + "DSServer")
Select New With
{
.svrname = ex.Element(ns + "ServerName"),
.BG = ex.Element(ns + "IsBG")
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53451966%2fhow-to-retrieve-data-from-xml-using-linq-in-vb-net%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you can't remove the namespace from the xml, you'll need to specify the namespace in the query.
Dim ns As XNamespace = "http://tempuri.org/DSPaths.xsd"
Dim query = From ex In XMLDoc.Descendants.Elements(ns + "DSServer")
Select New With
{
.svrname = ex.Element(ns + "ServerName"),
.BG = ex.Element(ns + "IsBG")
}
add a comment |
If you can't remove the namespace from the xml, you'll need to specify the namespace in the query.
Dim ns As XNamespace = "http://tempuri.org/DSPaths.xsd"
Dim query = From ex In XMLDoc.Descendants.Elements(ns + "DSServer")
Select New With
{
.svrname = ex.Element(ns + "ServerName"),
.BG = ex.Element(ns + "IsBG")
}
add a comment |
If you can't remove the namespace from the xml, you'll need to specify the namespace in the query.
Dim ns As XNamespace = "http://tempuri.org/DSPaths.xsd"
Dim query = From ex In XMLDoc.Descendants.Elements(ns + "DSServer")
Select New With
{
.svrname = ex.Element(ns + "ServerName"),
.BG = ex.Element(ns + "IsBG")
}
If you can't remove the namespace from the xml, you'll need to specify the namespace in the query.
Dim ns As XNamespace = "http://tempuri.org/DSPaths.xsd"
Dim query = From ex In XMLDoc.Descendants.Elements(ns + "DSServer")
Select New With
{
.svrname = ex.Element(ns + "ServerName"),
.BG = ex.Element(ns + "IsBG")
}
answered Nov 23 '18 at 19:40
the_lotusthe_lotus
10.2k12347
10.2k12347
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53451966%2fhow-to-retrieve-data-from-xml-using-linq-in-vb-net%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
I would assume that XMLDoc.Descendants.Elements("DSServer") doesn't return any value. So the problem should be before any LINQ. Have you tried removing (in the xml) or specifying (in the code) the namespace?
– the_lotus
Nov 23 '18 at 19:24
How can i do to specify the namespace? I tried removing the namespace in the XML file and it now works... but the thing is that my code writes the using an XSD file, so it enters the namespace in the XML.
– InfiniteLoop
Nov 23 '18 at 19:28
I tried adding the following: Imports <xmlns="tempuri.org/DSPaths.xsd"> but the code returns nothing (I did put back the namespace in the XML)
– InfiniteLoop
Nov 23 '18 at 19:38