Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 4.678 pregleda

Najnovija ↓

Re: Kako iz XML dokumenata izvuci cisti tekst??? 21.06.2005. u 09:53 · pre 260 meseci #2
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".
Potpis
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
Re: Kako iz XML dokumenata izvuci cisti tekst??? 21.06.2005. u 10:11 · pre 260 meseci #3
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.
Re: Kako iz XML dokumenata izvuci cisti tekst??? 21.06.2005. u 10:20 · pre 260 meseci #4
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 !
Potpis
OTPOR blokadi ulica, OTPOR blokiranom Beogradu, OTPOR blokiranoj Srbiji
Re: Kako iz XML dokumenata izvuci cisti tekst??? 27.06.2005. u 12:18 · pre 260 meseci #7
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 + " - ";
    }
}
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme