2011-10-25 4 views
-1

Quelle est la meilleure façon de lire le XML?La meilleure façon de lire xml

Mon xml est comme ça je vais avoir beaucoup de

<A> and <B>, not sure how many will be there and I have to read the whole xml file. 

Je ne peux pas dire que l'élément enfant comme

<180> will be there under <A> for sure. So does the other element. 

Mais si elle est là, je dois le lire. Dois-je utiliser LINQ ou XPath ou XMLReader?

Dois-je utiliser LINQ ou XPath? Lequel sera le meilleur et le plus facile?

 <A> 
      <180>20130218</180> ///180 is here 
      <170>5</170> 
      <220>20080210</220> 
      <730 CLID='AAA' KW='BBB' KW2='INTERNATIONAL'> 
       <731>BBB INTERNATIONAL AG</731> 
       <732>XXX</732> 
       <735>US66</735> 
       <734>YYY</734> 
      </730> 
      <300> 
       <301> 
        <320>20071100</320> 
        <310>12345</310> 
       </301> 
       <330>US</330> 
      </300> 
     </A> 
     <A>     ///180 is not here 
      <170>5</170> 
      <220>20080210</220> 
      <730 CLID='AAA' KW='BBB' KW2='WORLD'> 
       <731>BBB INTERNATIONAL AG</731> 
       <734>YYY</734> 
      </730> 
      <300> 
       <301> 
        <320>20071100</320> 
        <310>12345</310> 
       </301> 
       <330>UK</330> 
      </300> 
     </A> 
     <B> 
      <180>20130218</180> 
      <170>5</170> 
      <220>20080210</220> 
      <730 CLID='AAA' KW='BBB' KW2='INTERNATIONAL'> 
       <731>BBB INTERNATIONAL AG</731> 
       <732>XXX</732> 
       <733>JP</733> 
       <735>JP66</735> 
       <734>YYY</734> 
      </730> 
      <300> 
       <301> 
        <320>20071100</320> 
        <310>12345</310> 
       </301> 
       <330>JP</330> 
      </300> 
     </B> 
+0

Ce que vous utilisez dépend de ce que vous souhaitez réaliser. Si vous lisez simplement le contenu, fopen() est également suffisant. – Kangkan

+4

Que voulez-vous lire? Quelle sera la taille du XML? Cela peut-il rentrer dans la mémoire? Le parseur XML à utiliser dépend des réponses à ces questions. –

+1

puis-je vous demander ce que vous êtes censé faire avec ce XML? Je veux dire, le convertir en objet de domaine de domaine, ou quoi d'autre? Les structures des éléments sont-elles connues, à l'exception des balises A et B? Je veux dire, <301> sera toujours sous <300>? – themarcuz

Répondre

6

Dois-je utiliser LINQ ou XPath ou XMLReader? Lequel sera le meilleur et le plus facile?

XDocument (Linq-to-XML) sera le plus facile. Et il peut probablement faire ce que vous voulez, mais vous devriez être plus clair sur le résultat souhaité.

XML peut être aussi grand que 150 Ko.

Aucun problème. Commencez seulement à considérer XmlReader lorsque vous atteignez 150 Mo.

Questions connexes