如何使用 Xdocument 将 xml 元素值转换为字符串

2024-03-26

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

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>

Code:

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

您应该使用 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();

OR

你可以搜索Tag 健康)状况 in anyXML命名空间

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

OR

你可以使用 XPath 来获取健康)状况 in anyXML命名空间

var condition3 = (string)xDoc.XPathSelectElement("//*[local-name()='Condition']");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Xdocument 将 xml 元素值转换为字符串 的相关文章