[ misxa @ 21.06.2005. 08:45 ] @
Kako iz XML dokumenata izvuci cisti tekst??? |
[ misxa @ 21.06.2005. 08:45 ] @
[ Java Beograd @ 21.06.2005. 08:53 ] @
Ukoliko poznaješ strukturu XML dokumenta onda je veoma lako. Ukoliko ne poznaješ - onda veoma teško. Jer, zapravo je pitanje šta podrazumevaš kao "čisti tekst".
[ jablan @ 21.06.2005. 09:11 ] @
Verovatno misliš na sve ono što nije u tagovima.
Ako neće da radi innerText na celom dokumentu (mrzi me da probavam sad), možeš da regularnim izrazima brišeš tagove ili da napraviš jednostavnu XSL transformaciju. [ Java Beograd @ 21.06.2005. 09:20 ] @
Da, ali nekad je atribut u tagu. Da li je atribut tekst ili nije ?
Dakle moze ovo: Code: <teniser> <pol>zenski</pol> <ime>Ana</ime> <prezime>Ivanovic</prezime> </teniser> ali i ovo: Code: <teniser pol="zenski" ime="Ana" prezime="Ivanovic"/> Šta je onda tekst ? Ako obriše tag <teniser> šta onda ostaje ? Poželimo sreću Ani na današnjem meču u Wimbledonu ! [ adnan78 @ 22.06.2005. 16:08 ] @
Za takve stvari ja koristim xpath
http://www.w3schools.com/xpath/default.asp [ misxa @ 27.06.2005. 10:15 ] @
Pa kako iskoristiti XPath za ekstrakciju teksta?
[ dragansm @ 27.06.2005. 11:18 ] @
Mozda ti ne zavrsava posao, ali moze ti dati ideju:
Code: private string strOutInnerText = ""; public void Proba() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml( "<A a=\"t1\"><B b=\"t2\"/><B b=\"t3\"/><C><B b=\"t4\">t5</B><B b=\"t6\">t7</B></C></A>" ); XmlNode xmlNode = (XmlElement)xmlDoc.FirstChild; if ( xmlNode != null ) ProcesChild( xmlNode ); } private void ProcesChild( XmlNode xmlNode ) { while ( xmlNode != null ) { if ( xmlNode.NodeType != XmlNodeType.Text ) Print( (XmlElement)xmlNode ); if ( xmlNode.FirstChild != null ) ProcesChild( xmlNode.FirstChild ); xmlNode = xmlNode.NextSibling; } } private void Print( XmlElement xmlNode ) { if ( xmlNode.FirstChild != null && xmlNode.FirstChild.NodeType == XmlNodeType.Text) strOutInnerText += xmlNode.InnerText + " -- "; for ( int i = 0; i < xmlNode.Attributes.Count; ++i ) { strOutInnerText += xmlNode.Attributes[i].InnerText + " - "; } } [ misxa @ 27.06.2005. 13:36 ] @
Hvala :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|