【问题标题】:How to get xml element values to a string using Xdocument如何使用 Xdocument 将 xml 元素值获取到字符串
【发布时间】:2013-10-27 05:40:21
【问题描述】:

我将 xml 存储在字符串中,并使用 Xdocument 将字符串解析为 xml,我需要获取 xml 元素值并使用该值将其插入到 db 中。任何帮助将不胜感激。

XML:

<ListInventorySupplyResponse xmlns="http://mws.amazonaws.com/FulfillmentInventory/2010-10-01/">
- <ListInventorySupplyResult>
- <InventorySupplyList>
- <member>
  <SellerSKU>043859634910</SellerSKU> 
  <FNSKU>X000IA4045</FNSKU> 
  <ASIN>B005YV4DJO</ASIN> 
  <Condition>NewItem</Condition> 
  <TotalSupplyQuantity>10</TotalSupplyQuantity> 
  <InStockSupplyQuantity>10</InStockSupplyQuantity> 
- <EarliestAvailability>
  <TimepointType>Immediately</TimepointType> 
  </EarliestAvailability>
  <SupplyDetail /> 
  </member>
  </InventorySupplyList>
  </ListInventorySupplyResult>
- <ResponseMetadata>
  <RequestId>d50af29d-f203-4efc-a864-1725a59ded97</RequestId> 
  </ResponseMetadata>
  </ListInventorySupplyResponse>

代码:

XDocument xd = XDocument.Parse(a);
string Sku = xd.Element();
var ASIN = xd.Descendants("ASIN");
var Condition = xd.Descendants("Condition");
var TotalSupplyQuantity = xd.Descendants("TotalSupplyQuantity");

【问题讨论】:

  • 我建议您从编写更多代码开始,因为五行代码本身不会写入数据库。
  • 有什么问题。您在上面的代码中收到什么错误,请分享
  • @patel 我只是想知道如何将特定的 xml 节点值设置为字符串

标签: c# asp.net .net xml c#-4.0


【解决方案1】:

你应该使用xml命名空间http://mws.amazonaws.com/FulfillmentInventory/2010-10-01/

var xDoc = XDocument.Parse(xml);
XNamespace ns = "http://mws.amazonaws.com/FulfillmentInventory/2010-10-01/";

var condition = (string)xDoc.Descendants(ns + "Condition").First();

您可以在 any xml 命名空间中搜索Tag Condition

var condition2 = (string)xDoc.Descendants()
                             .First(d => d.Name.LocalName == "Condition");

您可以使用 XPath 在 any xml 命名空间中获取 Condition

var condition3 = (string)xDoc.XPathSelectElement("//*[local-name()='Condition']");

【讨论】:

  • 查找 GetDefaultNamespace() 以减少拼写错误。
【解决方案2】:

使用这个:

string value = xd.Root.Element("SellerSKU").Value;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多