Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

XML Textwriter Question 1

Status
Not open for further replies.

Trob70

Programmer
Sep 25, 2012
89
AU
I am using xmltextwriter to create an xml file
but have a problem as follows

My code....
'---------------------------------------------------------------------------------------------------
Dim writer As New XmlTextWriter(sfilename, System.Text.Encoding.UTF8)
writer.WriteStartDocument(True)
writer.Formatting = Formatting.Indented
writer.Indentation = 2
Dim qz As String = "111"
writer.WriteStartElement("Root")
writer.WriteElementString("puzzleno", "0519")
writer.WriteElementString("vdate", "20190617")
writer.WriteStartElement("quizzes")
Dim lnx As String = ""
lnx = "quiz number =" & Chr(34) & qz & Chr(34) & " question-label=" & Chr(34) & "number" & Chr(34) & " answer-label=" & Chr(34) & "letter" & Chr(34)
writer.WriteStartElement(lnx)
writer.WriteStartElement("items")
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()

'--------------------------------------------------------------------
<quiz number="1" question-label="number" answer-label="letter">
'--------------------------------------------------------------------

xml result ===
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
<puzzleno>0519</puzzleno>
<vdate>20190617</vdate>
<quizzes>
<quiz number ="111" question-label="number" answer-label="letter">
<items />
</quiz number ="111" question-label="number" answer-label="letter">
</quizzes>
</Root>
'--------------------------------------------------------------------------------
</quiz number ="111" question-label="number" answer-label="letter"> is the problem !@!@

I need </quiz>


OR is there a better method of creating xml ????

Appreciate any help

Regards Robert
 
Hi Robert,

this:
Code:
Dim lnx As String = ""
lnx = "quiz number =" & Chr(34) & qz & Chr(34) & " question-label=" & Chr(34) & "number" & Chr(34) & " answer-label=" & Chr(34) & "letter" & Chr(34)
writer.WriteStartElement(lnx)
writer.WriteStartElement("items")
writer.WriteEndElement()
...is not the proper way to do this.

Do it this way instead:
Code:
writer.WriteStartElement("quiz")
writer.WriteAttributeString("number", qz)
writer.WriteAttributeString("question-label", "number")
writer.WriteAttributeString("answer-label", "letter")
writer.WriteStartElement("items")
writer.WriteEndElement()
writer.WriteEndElement()

Apart from that, using XmlTextWriter is a perfectly fine method of doing this. ;-)

Best regards
MakeItSo

"Knowledge is power. Information is liberating. Education is the premise of progress, in every society, in every family." (Kofi Annan)
Oppose SOPA, PIPA, ACTA; measures to curb freedom of information under whatever name whatsoever.
 
MakeItSo

Thankyou very much, your solution worked fine....

I can see better how writer works now !!!!

Much appreciated..

Regards Robert
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top