Wrox Programmer Forums
|
Pro Visual Basic 2005 For advanced Visual Basic coders working in version 2005. Beginning-level questions will be redirected to other forums, including Beginning VB 2005.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Pro Visual Basic 2005 section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old April 23rd, 2013, 08:46 AM
Registered User
 
Join Date: Jun 2012
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default How to search in XML file?

I made book's catalog for my mum, with books saved in XML file.
I made simple search system, but this only returns me, ie. if I would search in names: "Agatha Christie", the program will return me "Agatha Christie" as many times, as there is book's of her. This is what i tried:
Code:
 ' Load the XML file.
        Dim xml_doc As New Xml.XmlDocument
        xml_doc.Load("BooksCatalog.xml")
        Dim tagName As String
        If rdbLastName.Checked Then
            tagName = "LastName"
        ElseIf rdbFirstName.Checked Then
            tagName = "FirstName"
        ElseIf rdbTitle.Checked Then
            tagName = "Title"
        ElseIf rdbYear.Checked Then
            tagName = "Year"
        End If

        Dim child_nodes As XmlNodeList = _
            xml_doc.GetElementsByTagName(tagName)
        Dim LastName As XmlNodeList = xml_doc.GetElementsByTagName("LastName")
        Dim FirstName As XmlNodeList = xml_doc.GetElementsByTagName("FirstName")
        Dim Title As XmlNodeList = xml_doc.GetElementsByTagName("Title")
        Dim Year As XmlNodeList = xml_doc.GetElementsByTagName("Year")

        Dim txt As String = ""
        For Each child As XmlNode In child_nodes
            If child.InnerText = txtFind.Text Then
                lboFind.Items.Add(child.InnerText)
            End If
        Next child
but I want program to return me something like this:
FirstName LastName - Title (Year)

The XML file looks:
Code:
<?xml version="1.0"?>
<BooksBook xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ListOfBooks>
    <Book>
      <LastName>LastName1</LastName>
      <FirstName>FirstName1</FirstName>
      <Title>Title1</Title>
      <Year>Year1</Year>
    </Book>
    <Book>
      <LastName>LastName2</LastName>
      <FirstName>FirstName2</FirstName>
      <Title>Title2</Title>
      <Year>Year2</Year>
    </Book>
  </ListOfBooks>
</BooksBook>
Can any1 help me?
('Imports System.Xml' were included)





Similar Threads
Thread Thread Starter Forum Replies Last Post
Search and Replace a text in XML file AyatKh XML 17 May 23rd, 2012 09:05 PM
Parse/Load/Search xml file size near about 1 GB sandeep_akhare XML 4 September 19th, 2006 04:47 AM
Search XMl File Problem :@ sir_hosam XML 1 February 1st, 2006 05:16 AM
Search and display fields in XML file kts_33 XML 5 September 28th, 2004 08:17 AM
Search and display fields in XML file kts_33 Classic ASP XML 1 September 22nd, 2004 05:16 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.