Submit Your Article Webforumz RegistrationAnnouncements Contact Webforumz StaffContact
Home Resources Blogs Meet the Team Contact Register
 

Go Back   WebForumz.com > The Code > Other Languages

Reply
 
LinkBack Thread Tools
Old December 2nd, 2005, 02:06 PM   #1
New Member
 

Join Date: Nov 2005
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Altering Power: 0 fogofogo is on a distinguished road
Selecting certain XML elements

Hello All,
I have a question regarding searching and selecting certain elements in an XML document using asp. The xml script basically consist of news headings, contents, date, and category elements that tell what the news is related to and where it should be displayed and stored. For example Finance catagory stories will be stored in a different database to the business one.
Code:
<Article Created="16:01:59" ID="15105602">
   <Heading>Equitable drops claim against former directors</Heading> 
   <Date>02/12/2005</Date> 
  <Contents>
   <news story goes in here> 
   </Contents>
  <Categories>
    <Category ID="430009725">Finance</Category> 
   <Category ID="430009734">Economy</Category> 
   <Category ID="430009735">Business</Category> 
    <Category ID="438000159">Insurance</Category> 
  </Categories>
</Article>
So basically I need a script that can check the XML for certain stories and store them in a database. I already have the script (see below) that takes ALL the news stories from the XML file and puts them in a database. So how can I get the script to check if a story is, say a Finance story and continue to store it in a database? Would I use an if else statment? if so, where should I put it?
Code:
Dim XMLDom
Dim ItemID
Dim DbConn
Dim SQLString
Dim ANArticleNode
Dim CollectionOfArticleNodes
Dim cst
Set XMLDom = CreateObject("MSXML2.DomDocument.4.0")
XMLDom.async = False
XMLDom.setProperty "ServerHTTPRequest", True
Set DbConn = Createobject("adodb.connection")
'DbConn.open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=pokernewsxml; OPTION=3"
DbConn.open "Driver={MySQL ODBC 3.51 Driver};" & _ 
        "Server=82.195.128.88;" & _ 
        "Database=johnfog_xml;" & _ 
        "Uid=johnfog_xml;" & _ 
        "Pwd=wordword;"

'-- Load the XML data from your live URL
XMLDom.Load("http://feeds.directnews.org.uk/?ad96...2-ad546b2ed850") 
'-- Create a reference to a collection of all Article Tags within the downloaded XML Document
Set CollectionOfArticleNodes = XMLDom.SelectNodes("InfoStreamResults/Article")
'-- Iterate the collection of Article Tags 
For Each ANArticleNode in CollectionOfArticleNodes 
 ItemID = ANArticleNode.SelectSingleNode("@ID").text
 Heading = ANArticleNode.SelectSingleNode("Heading").text 
 Contents = ANArticleNode.SelectSingleNode("Contents").text
 sDate = ANArticleNode.SelectSingleNode("Date").text
 '-- Delete the item from the local database if it exists
 SQLString = "DELETE FROM DeHavillandNews WHERE trim(ItemID)='" & trim(ItemID) & "';"
    DbConn.Execute(SQLString)
 
 '-- Insert the item into the local database
 SQLString = "INSERT INTO DeHavillandNews (ItemID,Heading,Contents,strDate) " _
    & "VALUES('" & ItemID & "','" & EncodeIt(Heading) & "','" & EncodeIt(Contents) & "', '" & sDate & "');" 
 DbConn.Execute(SQLString) 
 
Next
 
'-- Handles quotations in text
Function EncodeIt(TextString)
 TextString = Replace(CStr(TextString), "''", "'")
 TextString = Replace(TextString, "'", "''")
 EncodeIt = TextString
End Function
Any help would be greatly appreciated as I am seriously stuck with this one.
Thanks folks
J
fogofogo is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post!
Reply With Quote
Old December 5th, 2005, 06:31 AM   #2
New Member
 

Join Date: Nov 2005
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Altering Power: 0 fogofogo is on a distinguished road
Re: Selecting certain XML elements

problem solved
If anyone is interested, here is the solution:
Code:
Dim XMLDom
Dim ItemID
Dim DbConn
Dim SQLString
Dim ANArticleNode
Dim ANArticleNode2
Dim CollectionOfArticleNodes
Dim CollectionOfArticleNodes2
Dim cst
Set XMLDom = CreateObject("MSXML2.DomDocument.4.0")
XMLDom.async = False
XMLDom.setProperty "ServerHTTPRequest", True
Set DbConn = Createobject("adodb.connection")
DbConn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=test1.mdb"
'-- Load the XML data from your live URL
XMLDom.Load("http://feeds.directnews.org.uk/?ad96...2-ad546b2ed850") 
'-- Create a reference to a collection of all Article Tags within the downloaded XML Document
Set CollectionOfArticleNodes = XMLDom.SelectNodes("InfoStreamResults/Article")
'-- Iterate the collection of Article Tags 
For Each ANArticleNode in CollectionOfArticleNodes 
 '-- Now create a reference to the category tag
 Set CollectionOfArticleNodes2 = ANArticleNode.SelectNodes("Categories/Category")
 '-- And iterate through the nodes to test for a match
 For Each ANArticleNode2 in CollectionOfArticleNodes2
  ItemID = ANArticleNode2.SelectSingleNode("@ID").text
  if ItemID = "430009735" then
   '-- Retrieve the value of the heading node from the current article
   Heading = ANArticleNode.SelectSingleNode("Heading").text
 
   '-- Insert the item into the local database
   SQLString = "INSERT INTO test (Heading) " _
   & "VALUES('" & EncodeIt(Heading) & "');" 
   DbConn.Execute(SQLString) 
  end if
 Next '-- check the next category ID
Next '-- move to the next article
'-- Handles quotations in text
Function EncodeIt(TextString)
 TextString = Replace(CStr(TextString), "''", "'")
 TextString = Replace(TextString, "'", "''")
 EncodeIt = TextString
End Function
%>
fogofogo is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post!
Reply With Quote
Old December 5th, 2005, 07:18 AM   #3
Reputable Member
 
Tim356's Avatar
 

Join Date: Nov 2003
Location: Australia
Age: 27
Posts: 329
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Altering Power: 0 Tim356 will become famous soon enough
Re: Selecting certain XML elements

Gotta love those questions you answer yourself! Good stuff.
Tim356 is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post!
Reply With Quote
Old December 5th, 2005, 08:49 AM   #4
New Member
 

Join Date: Nov 2005
Posts: 18
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Altering Power: 0 fogofogo is on a distinguished road
Re: Selecting certain XML elements

haha! true
fogofogo is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post!
Reply With Quote
Reply

Bookmarks

Tags
selecting , certain , xml , elements


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
selecting PHP code - errors c010depunkk WebForumz Suggestions 2 January 17th, 2008 07:57 AM
no selecting data franknu PHP 4 May 26th, 2007 02:08 PM
Problem selecting elements Echilon HTML, XHTML and CSS 2 January 3rd, 2007 07:43 AM
Selecting Numbers WillisTi Flash and ActionScript 1 November 16th, 2005 12:56 PM
selecting a value from array Ozeona Flash and ActionScript 2 July 27th, 2005 06:14 AM


Search Engine Optimization by vBSEO 3.2.0 RC8