2012-02-04 46 views
0
<?xml version="1.0" encoding="UTF-8"?> 

<searchResult> 

    <pagination> 
     <itemsPerPage>{Number of Inventories per Page}</itemsPerPage> 
     <numberOfItems>{Number of Inventories}</numberOfItems> 
    </pagination> 

    <itemList> 
     <item> 
      {Requested Salesforce fields e.g:} 
      <Id>{Salesforce Id}</Id> 
      <Name>{Name}</Name> 
      <pb__IsForSale__c>{e.g.}false</pb__IsForSale__c> 
      <pb__IsForLease__c>{e.g.}true</pb__IsForLease__c> 
      <pb__ItemDescription__c>{Item Description}</pb__ItemDescription__c> 
      <pb__PurchaseListPrice__c>{Item List Price e.g.:}2000000.00</pb__PurchaseListPrice__c> 
      <CurrencyIsoCode>{Currency Iso Code e.g:}EUR</CurrencyIsoCode> 
      <pb__UnitBedrooms__c>{Number of Bedrooms}</pb__UnitBedrooms__c> 

      <asset> 
       <Id>{internal Propertybase InventoryAsset Id}</Id> 
       <category>{Images, Videos or Documents}</category> 
       <isExternalLink>false</isExternalLink> 
       <title>{title}</title> 
       <filename>{original name of the uploaded file}</filename> 
       <url>{full url to image/video/document}</url> 
       <thumbnailUrl>{full url to thumbnail image}</thumbnailUrl> 
       <midresUrl>{full url to thumbnail image}</midresUrl> 
       <tags>{comma separated tags}</tags> 
       <mimeType>{e.g. image/jpeg}</mimeType> 
      </asset> 

      <asset> 
       <Id>{internal Propertybase InventoryAsset Id}</Id> 
       <category>{Images, Videos or Documents}</category> 
       <isExternalLink>true</isExternalLink> 
       <title>{title}</title> 
       <url>{full url to image/video/document}</url> 
       <tags>{comma separated tags}</tags> 
      </asset> 

      <asset> 
       {...} 
      </asset> 
      {more assets ...} 

     </item> 

     <item> 
      {...} 
     </item> 
     {more items ...} 

    </itemList> 

</searchResult> 

那麼我有上面的XML,我需要將項目標記與其子節點一起存儲在數據庫表中作爲屬性,並且必須將資產標記及其子節點存儲在具有項目標識的另一個表中作爲項目表的外鍵,我該如何做很多工作,但無法獲得它的工作方式如何使用C#在SQL Server 2008 R2中拆分和存儲XML?

+0

'而(reader.Read()){ 如果 (reader.NodeType == XmlNodeType.Element) { reader.Read(); Response.Write(reader.Value +「
」); } }' 我只能說到這一點。沒有一個想法如何進一步進行 – 2012-02-04 14:09:35

+1

您是否嘗試使用'XDocument'而不是'XmlReader'? – Oded 2012-02-04 14:10:23

+0

是的,我試過,但也不明白,以及 – 2012-02-04 14:11:44

回答

0

您只需要選擇所有Item節點。

使用XPath(例如SelectNodes),這將是\\Item - 這將產生一個可以迭代的節點集。

+0

我試過這個'string fileName =「D://project_elysian//data.xml」; XPathDocument doc = new XPathDocument(fileName); XPathNavigator nav = doc.CreateNavigator(); XPathExpression expr; expr = nav.Compile(expression); XPathNodeIterator iterator = nav.Select(expr); 嘗試 while(iterator.MoveNext()) XmlNode nav2 = iterator.Current.Clone(); Response.Write(「price:」+ nav2.Value +「
」); }'但它只給我所有的節點在特定的深度和名稱,例如,如果我選擇'\ item \ asset \ url'這個代碼給了我所有的項目在這個深度的所有元素 – 2012-02-04 15:11:01

+1

@mamoorkhan - 很多最好編輯你的問題,然後發表評論中的代碼。 – Oded 2012-02-04 15:20:41

+0

@mamoorkhan - 我給你表達使用。 – Oded 2012-02-04 15:21:02

相關問題