2012-12-24 25 views
1

的特定部分我有一个字符串变量我要检查,如果该XML内容包含提取XML

<xml> 
<message display='yes'> 
.... 

<xml> 
<xdp:xdp> 
... 

是有可能的XML?

+2

是的,这是可能的。你能展示你为阅读XML所做的努力吗? – ryadavilli

+1

你应该发布你已经尝试过的或者你的想法如何解决的。这不是'写我的代码给我的网站'。正如ryadavilli所说,是的。 – Sascha

+0

我试过用substirng – user1926152

回答

0

下面

<Order> 
    <AmazonOrderID>000-1111111-2222222</AmazonOrderID> 
    <MerchantOrderID>111-3333333-4444444</MerchantOrderID> 
    <PurchaseDate>2012-03-02T13:28:53+00:00</PurchaseDate> 
    <LastUpdatedDate>2012-03-02T13:29:05+00:00</LastUpdatedDate> 
    <OrderStatus>Pending</OrderStatus> 
    <SalesChannel>Amazon.com</SalesChannel> 
    <URL>http://www.amazon.com</URL> 
    <FulfillmentData> 
    <FulfillmentChannel>Amazon</FulfillmentChannel> 
    <ShipServiceLevel>Standard</ShipServiceLevel> 
    <Address> 
     <City>Beverly Hills</City> 
     <State>CA</State> 
     <PostalCode>90210-1234</PostalCode> 
     <Country>US</Country> 
    </Address> 
    </FulfillmentData> 
    <OrderItem> 
    <ASIN>AmazonASIN </ASIN> 
    <SKU> Internal-SKU</SKU> 
    <ItemStatus>Pending</ItemStatus> 
    <ProductName> This is the name of the product </ProductName> 
    <Quantity>1</Quantity> 
    <ItemPrice> 
     <Component> 
     <Type>Principal</Type> 
     <Amount currency="USD">19.99</Amount> 
     </Component> 
    </ItemPrice> 
    </OrderItem> 
</Order> 

    List<string> getNodes(string path, string nodeName) { 

    List<string> nodes = new List<string>(); 

    XDocument xmlDoc = XDocument.Load(path); //Create the XML document type 

    foreach (var el in xmlDoc.Descendants(nodeName)) { 
      //for debugging 
      //nodes.Add(el.Name + " " + el.Value); 

      //for production 
      nodes.Add(el.Value); 
    } 
    return nodes; 
} //end getNodes 

List<string> skuNodes = xml.getNodes(@"AmazonSalesOrders.xml", "SKU"); 
1

下面的一个例子是,你如何检查它:

 string example = @"<xml> 
      <message display='yes'></message> 
      </xml>"; 

     XDocument doc = XDocument.Parse(example); 
     if (doc.Element("xml").Element("message") != null) 
     { 
      // node "message" exists within node "xml" which is located at the root of the document 
     } 

您可以在层次结构中使用XDocument类来检查任何节点的存在,在任何位置的XML文档。您可以轻松地从字符串或文件加载内容。