Forum » Programiranje » xpath
xpath
urbecar ::
Xml je približno taki. Vsi nodi so elementi ,torej ni noben atribut. Rabil bi xpath (ver 1.0), ki bi izbral vse node B , katerih id je 0 . Nodi niso vpisani po vrstnem redu(recimo id-ji si po vrsti sledijo 0,1,5,6,7), tako da označevanje glede na pozicijo odpade.
<a> <b> <c1> <id>0</id> <cena>123</cena> ..... </c1> <c2> ..... </c2> </b> <b> <c1> <id>0</id> <cena>123</cena> </c1> <c2> ..... </c2> </b> . . . </a>
Microsoft ::
Mogoce tole:
/a/b/*[id=0]
by Miha
/a/b/*[id=0]
by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr
urbecar ::
Hvala miha sem rešil sam vendar mi na tvoj način ni pa ni hotelo delat. Možno da sem se 5x za povrstjo zatipkal ampak....
No men je ratalo tak(sej ve da je enako):
EDIT: Šele zdej opazu da sm pozabljal tisto * pred id=0
No men je ratalo tak(sej ve da je enako):
string XPath="//b[c/id="+žbljk+"]"
EDIT: Šele zdej opazu da sm pozabljal tisto * pred id=0
Zgodovina sprememb…
- spremenil: urbecar ()
BivšiUser2 ::
Rad bi bral z spletne strani pa ne vem točno kje ga sekam.
Funkcija, ki bi to naj naredila je
Koda, ki naj bi vrnila HtmlDocument:
Rad bi bral atribut title najnižjega ul-ja, potem pa pod vsakim ul-jem še InnerText njegovih treh li-jev. Sem pogledal številne tutoriale, ne zastopim pa sintakse za UWP, ki je precej oskubljena.
Primer HTML-ja:
Funkcija, ki bi to naj naredila je
public List<string> GetTypesOfFood(string website) { List<string> TypesOfFood = new List<string>(); HtmlDocument document = GetHtmlOfPage(website).Result; /* HtmlNode docNodes = document.DocumentNode; HtmlNode ul = docNodes.Element("id('ContentHolderMain_ContentHolderMainContent_ContentHolderMainContent_pnlDaily')/x:div/x:ol/x:li[1]/x:ul[@title]");*/ //> celoten Xpath elementa HtmlNode div = document.GetElementbyId("ContentHolderMain_ContentHolderMainContent_ContentHolderMainContent_pnlDaily"); if(div!=null) { var ul = div.Element("//div[@class='holderRestaurantInfo']/ol/li[1]/ul/@title").GetAttributeValue("title", "title"); string a = ul; //vmes še pride zanka... TypesOfFood.Add(a); } return TypesOfFood; }
Koda, ki naj bi vrnila HtmlDocument:
private static async Task<HtmlDocument> GetHtmlOfPage(string website) { return await new HtmlWeb().LoadFromWebAsync(website); }
Rad bi bral atribut title najnižjega ul-ja, potem pa pod vsakim ul-jem še InnerText njegovih treh li-jev. Sem pogledal številne tutoriale, ne zastopim pa sintakse za UWP, ki je precej oskubljena.
Primer HTML-ja:
<krneki> <--! Njihove id-je in classe imam--> <ol> <li> <h6></h6> <ul> <--! ul, ki ga iščem --> <li>Vsebina n-tega li-ja od m-tega ul-ja</li> <li>Vsebina n+1-tega li-ja od m-tega ul-ja</li> <li>Vsebina n-tega li-ja od m-tega ul-ja</li> </ul> </li> <li> Jovo na novo zgornji h6, ul>li</li> </ol> </krneki>
SloTech - če nisi z nami, si persona non grata.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Davčne blagajne (strani: 1 2 3 4 … 24 25 26 27 )Oddelek: Programiranje | 331857 (71860) | Macketina |
» | Slo-Tech userscriptsOddelek: Izdelava spletišč | 5166 (2618) | jype |
» | jquery in div-i (strani: 1 2 )Oddelek: Izdelava spletišč | 11226 (9964) | lisjak |
» | getElementsByTagName ne dela v ChromuOddelek: Programiranje | 1673 (1411) | win64 |
» | parsanje podatkov iz straniOddelek: Programiranje | 1991 (1786) | commissar |