在 C# 中解析 Web 服务 xml 响应以获取变量中的特定节点值
parse web service xml response in c# to get specific node value in variables
using System;
using System.Xml;
using SampleWebserviceApp.net.myasp.deepakgaur;
namespace SampleWebserviceApp
{
class Program
{
static void Main(string[] args)
{
InventoryWebservice Webservice = new InventoryWebservice();
var value = Webservice.GetDataByID("1");
XmlDocument doc = new XmlDocument();
doc.LoadXml(value);
string id = doc.GetElementsByTagName("Id").ToString();
Console.WriteLine(value);
Console.WriteLine(id);
Console.ReadKey();
}
}
}
任何人都可以帮助我如何从我的网络服务响应中获取节点值
<NewDataSet>
<Table>
<Id>1 </Id>
<ProductName>Hp Laptop</ProductName>
<SerialNumber>abc111 </SerialNumber>
<Status>Delivered </Status>
<CustomerName>Shatakshi</CustomerName>
</Table>
</NewDataSet>
我想做的是在各自的变量中获取 id、productname、serial number、status、cusomername 值
请帮助我了解如何实现这一目标。
使用 Linq XML。请注意,我没有 Web 服务 InventoryWebservice,所以我只是手动创建一个 xml 文档。
using System;
using System.IO;
using System.Linq;
using System.Xml.Linq;
class Program
{
static void Main()
{
// create an XML document manually
var doc = XDocument.Load(new StringReader(@"<NewDataSet>
<Table>
<Id>1 </Id>
<ProductName>Hp Laptop</ProductName>
<SerialNumber>abc111 </SerialNumber>
<Status>Delivered </Status>
<CustomerName>Shatakshi</CustomerName>
</Table>
</NewDataSet>"));
// query the XML document
var product = doc
.Descendants("Table")
.Select(x => new {
Id = x.Element("Id").Value,
ProductName = x.Element("ProductName").Value,
SerialNumber = x.Element("SerialNumber").Value,
Status = x.Element("Status").Value,
CustomerName = x.Element("CustomerName").Value
})
.FirstOrDefault();
// print the result
if (product != null)
{
Console.WriteLine("Id = {0}", product.Id);
Console.WriteLine("Product Name = {0}", product.ProductName);
Console.WriteLine("Serial Number = {0}", product.SerialNumber);
Console.WriteLine("Status = {0}", product.Status);
Console.WriteLine("Customer Name = {0}", product.CustomerName);
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
using System;
using System.Xml;
using SampleWebserviceApp.net.myasp.deepakgaur;
namespace SampleWebserviceApp
{
class Program
{
static void Main(string[] args)
{
InventoryWebservice Webservice = new InventoryWebservice();
var value = Webservice.GetDataByID("1");
XmlDocument doc = new XmlDocument();
doc.LoadXml(value);
string id = doc.GetElementsByTagName("Id").ToString();
Console.WriteLine(value);
Console.WriteLine(id);
Console.ReadKey();
}
}
}
任何人都可以帮助我如何从我的网络服务响应中获取节点值
<NewDataSet>
<Table>
<Id>1 </Id>
<ProductName>Hp Laptop</ProductName>
<SerialNumber>abc111 </SerialNumber>
<Status>Delivered </Status>
<CustomerName>Shatakshi</CustomerName>
</Table>
</NewDataSet>
我想做的是在各自的变量中获取 id、productname、serial number、status、cusomername 值
请帮助我了解如何实现这一目标。
使用 Linq XML。请注意,我没有 Web 服务 InventoryWebservice,所以我只是手动创建一个 xml 文档。
using System;
using System.IO;
using System.Linq;
using System.Xml.Linq;
class Program
{
static void Main()
{
// create an XML document manually
var doc = XDocument.Load(new StringReader(@"<NewDataSet>
<Table>
<Id>1 </Id>
<ProductName>Hp Laptop</ProductName>
<SerialNumber>abc111 </SerialNumber>
<Status>Delivered </Status>
<CustomerName>Shatakshi</CustomerName>
</Table>
</NewDataSet>"));
// query the XML document
var product = doc
.Descendants("Table")
.Select(x => new {
Id = x.Element("Id").Value,
ProductName = x.Element("ProductName").Value,
SerialNumber = x.Element("SerialNumber").Value,
Status = x.Element("Status").Value,
CustomerName = x.Element("CustomerName").Value
})
.FirstOrDefault();
// print the result
if (product != null)
{
Console.WriteLine("Id = {0}", product.Id);
Console.WriteLine("Product Name = {0}", product.ProductName);
Console.WriteLine("Serial Number = {0}", product.SerialNumber);
Console.WriteLine("Status = {0}", product.Status);
Console.WriteLine("Customer Name = {0}", product.CustomerName);
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}