Urgent Help on XmlDocument

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Mae Lim

    #1

    Urgent Help on XmlDocument

    Dear all,

    I'm newbie to XML in C#. Below it's the existing XMLDocument I need to
    generate using System.Xml. The <CustData> will loop thru a recordset to
    generate it.

    Example Codes :-

    XmlDeclaration xmlDeclaration =
    xmlDoc.CreateXm lDeclaration("1 .0","utf-8",null);
    XmlElement rootNode = xmlDoc.CreateEl ement("Customer s");
    xmlDoc.InsertBe fore(xmlDeclara tion, xmlDoc.Document Element);
    xmlDoc.AppendCh ild(rootNode);

    XmlDocument SubNodes = new XmlDocument ();
    string strStruc = "<CustData><Cus tName></CustName><Desc> </Desc></CustData>";
    SubNodes.LoadXm l(strStruc);

    XmlNodeList XmlRootNode = xmlDoc.GetEleme ntsByTagName("C ustomers");
    XmlNodeList docSubNode = SubNodes.GetEle mentsByTagName( "CustData") ;
    XmlNodeList CustNameNode = xmlDoc.GetEleme ntsByTagName("C ustName");
    XmlNodeList DescNode = xmlDoc.GetEleme ntsByTagName("D esc");

    //Loop RecordSet
    if (colPE.Count > 0 )
    {
    for (int i = 0; i < colPE.Count; i++)
    {
    XmlRootNode.Ite m(0).AppendChil d(xmlDoc.Import Node(docSubNode
    ..Item(0).Clone () ,true)) ;
    CustNameNode.It em(i).InnerText = colPE.Item(i).C ustName.ToStrin g().Trim();
    DescNode.Item(i ).InnerText = colPE.Item(i).D esc.ToString();
    }
    SubNodes = null;
    }

    Example XMLDocument:-

    <Customers>
    <CustData>
    <CustName>123 </CustName>
    <Desc>TESTING </Desc>
    </CustData>
    <CustData>
    <CustName>789 </CustName>
    <Desc>TESTING 123</Desc>
    </CustData>
    </Customers>

    Further enhance the XmlDocument, I need to loop thru <CustData> and add in
    the <TelephoneDat a> in the tag. I need to loop thru another recordset to get
    <TelephoneDat a> for each customer.

    Example XmlDocument :-

    <Customers>
    <CustData>
    <CustName>123 </CustName>
    <Desc>TESTING </Desc>
    <TelephoneDat a>
    <TelDesc>Office </TelDesc>
    <TelNumber>1234 5678</TelNumber>
    </TelephoneData>
    <TelephoneDat a>
    <TelDesc>Home </TelDesc>
    <TelNumber>1234 5678</TelNumber>
    </TelephoneData>
    </CustData>
    <CustData>
    <CustName>789 </CustName>
    <Desc>TESTING 123</Desc>
    <TelephoneDat a>
    <TelDesc>Home </TelDesc>
    <TelNumber>4564 87987</TelNumber>
    </TelephoneData>
    </CustData>
    </Customers>

    The problem is, how to add in the additional <TelephoneDat a> into <CustData>
    ? Need example code on this.

    Thank in advance.


    Cheers,
    Mae
Working...