Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


XML Load + sök?

Postades av 2013-02-13 16:14:05 - Pontus Fiskhammar, i forum asp.net generellt, Tråden har 6 Kommentarer och lästs av 3279 personer

Har följande kod, där jag har en "SearchString" som innehåller sökvärde. Funktionen laddar sen resp xml dokument och ska leta efter sökvärdet, men här vill jag att den ska utesluta html taggar i sin sökning, säg att SearchString innehåller ex "img", då vill jag inte att den ska få en träff på en img tagg som finns i xmlen?

Dim xm As XmlDocument = New XmlDocument()
                        Dim list As String = "//pagecontent[contains(translate(.,'abcdefghijklmnopqrstuvwxyzåäö', 'ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ'),'" & UCase(SearchString) & "')]"
                        xm.Load(file)
                        Dim Xn As XmlNodeList = xm.SelectNodes(list)
                        Dim xNode As XmlNode

                        Dim xmldoc As New XmlDocument()
                        Dim decl As XmlDeclaration = xmldoc.CreateXmlDeclaration("1.0", "utf-8", "")
                        xmldoc.InsertBefore(decl, xmldoc.DocumentElement)
                        Dim RootNode As XmlElement
                        RootNode = xmldoc.CreateElement("items")

                        For Each xNode In Xn
                            RootNode.AppendChild(xmldoc.ImportNode(xNode, True))
                        Next


Svara

Sv: XML Load + sök?

Postades av 2013-02-14 16:05:25 - Tomas Granlund

Ett sätt skulle kunna vara att göra en andra genomgång av (de potentiella) sökträffarna för att sålla bort falska träffar

Dim xm As XmlDocument = New XmlDocument()
Dim list As String = "//pagecontent[contains(translate(.,'abcdefghijklmnopqrstuvwxyzåäö', 'ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ'),'" & UCase(SearchString) & "')]"
xm.Load(file)
Dim Xn As XmlNodeList = xm.SelectNodes(list)
Dim xNode As XmlNode

Dim xmldoc As New XmlDocument()
Dim decl As XmlDeclaration = xmldoc.CreateXmlDeclaration("1.0", "utf-8", "")
xmldoc.InsertBefore(decl, xmldoc.DocumentElement)
Dim RootNode As XmlElement
RootNode = xmldoc.CreateElement("items")

For Each xNode In Xn
	If (IsInnerTextHit(xNode, SearchString)) Then
		RootNode.AppendChild(xmldoc.ImportNode(xNode, True))
	End If
Next


Ändra denna efter behov (t.ex. om du vill att en sökning på "img" ska kunna få träff på <table title="simglasögon">).
Imports mshtml ' Kräver en referens till Microsoft.mshtml i projektet

' Kollar om en sökterm (needle) finns i den för användaren "synliga" delen av ett htmldokument
' Sökningen ignorerar alltså t.ex. <meta>-taggar, alt/title-texter, texter på knappar m.m.
Private Function IsInnerTextHit(haystack As XmlNode, needle As String) As Boolean
	' TODO: Validering, felhantering
	Dim htmlDocument As IHTMLDocument2 = New HTMLDocument()
	htmlDocument.write(haystack.InnerText)
	Return htmlDocument.body.innerText.Contains(needle)
End Function


Edit: Bytte till haystack.InnerText istället för OuterXml


Svara

Sv:XML Load + sök?

Postades av 2013-02-14 16:27:17 - Pontus Fiskhammar

Får det inte att funka, söker jag på tex img så får den träff på följande i xml filen:

<![CDATA[<img src="../images/dot_service.png" />]]>


Svara

Sv: XML Load + sök?

Postades av 2013-02-14 16:45:03 - Tomas Granlund

Hur ser den ursprungliga xml:en ut? Jag förutsatte helt sonika att pagecontent-taggen innehåller ett fullständigt html-dokument men så är kanske inte fallet?


Svara

Sv:XML Load + sök?

Postades av 2013-02-14 17:02:12 - Pontus Fiskhammar


<?xml version="1.0" encoding="utf-8" ?>
<items>
<pagecontent id="quote">
<head>Rubrik</head>
<text>
text text bla bla bla
<![CDATA[<img src="../images/print.png" />]]>
</text>
</pagecontent>
</items>


Svara

Sv: XML Load + sök?

Postades av 2013-02-15 10:33:07 - Tomas Granlund

Har uppdaterat koden ovan och får nu ingen träff på img om jag söker i samma xml


Svara

Sv:XML Load + sök?

Postades av 2013-02-15 12:22:00 - Pontus Fiskhammar

Lysande, tack så mycket!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
2 165
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies