Nuovo per XPath. Stavo provando a utilizzare l'attività XML in SSIS per caricare alcuni valori. Utilizzando l'inventario XML di Microsoft menzionato di seguito.Come utilizzare più condizioni in Xpath?
Come posso caricare il valore del primo nome in libreria/libri dove lo stile è nuovo e premio = 'Pulitzer'? //book[@style='novel' and ./author/award/text()='Pulitzer']
è quello che sto cercando. Dà l'intero elemento. Dove dovrei modificare per ottenere solo il valore del nome?
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="myfile.xsl" ?>
<bookstore specialty="novel">
<book style="autobiography">
<author>
<first-name>Joe</first-name>
<last-name>Bob</last-name>
<award>Trenton Literary Review Honorable Mention</award>
</author>
<price>12</price>
</book>
<book style="textbook">
<author>
<first-name>Mary</first-name>
<last-name>Bob</last-name>
<publication>Selected Short Stories of
<first-name>Mary</first-name>
<last-name>Bob</last-name>
</publication>
</author>
<editor>
<first-name>Britney</first-name>
<last-name>Bob</last-name>
</editor>
<price>55</price>
</book>
<magazine style="glossy" frequency="monthly">
<price>2.50</price>
<subscription price="24" per="year"/>
</magazine>
<book style="novel" id="myfave">
<author>
<first-name>Toni</first-name>
<last-name>Bob</last-name>
<degree from="Trenton U">B.A.</degree>
<degree from="Harvard">Ph.D.</degree>
<award>P</award>
<publication>Still in Trenton</publication>
<publication>Trenton Forever</publication>
</author>
<price intl="Canada" exchange="0.7">6.50</price>
<excerpt>
<p>It was a dark and stormy night.</p>
<p>But then all nights in Trenton seem dark and
stormy to someone who has gone through what
<emph>I</emph> have.</p>
<definition-list>
<term>Trenton</term>
<definition>misery</definition>
</definition-list>
</excerpt>
</book>
<my:book xmlns:my="uri:mynamespace" style="leather" price="29.50">
<my:title>Who's Who in Trenton</my:title>
<my:author>Robert Bob</my:author>
</my:book>
</bookstore>
Questo è del tutto bene, non c'è nulla per migliorare. –
Non userei 'text()' a meno che non mi occupi di contenuti misti (es. Un elemento 'p' XHTML contenente'
La rapida volpe saltata sul cane pigro
') e ho bisogno esplicitamente di selezionare un testo figlio o discendente (ad esempio '/ p/text() [1]' per selezionare il nodo di testo con 'il'). Altrimenti vorrei semplicemente confrontare l'elemento. Quindi nel tuo caso '// book [@style = 'novel' e author/award = 'Pulitzer'] // first-name' sono sufficienti, non si ottiene nulla con l 'uso di' author/award/text() '. –Grazie a voi Jens e Martin per condividere le vostre opinioni. – Akshay