Treatment of XML files

xiaoxiao2021-03-06  40

Treatment of XML files

1. Take the value of the node

1) At the same level

a. Circulation traversal

Private string processxpathQuery (xpathnavigator xpnav, string xpathquery)

{

String strreturn = ""

Xpnav.movetofirstchild ();

DO

{

IF (xpnav.localname == xpathquery)

{

Strreturn = xpnav.value.toString (). Trim ();

Break;

}

} while (xpnav.movetonext ());

Xpnav.movetoparent ();

Return Strreturn;

}

String strreturn = processxpathQuery (xpnav, "userid");

b. Check with xpathnodeiterator.select

Private string processxpathQuery (xpathnavigator xpnav, string xpathquery)

{

// xpath reason: http://www.zvon.org/xxl/xpathtutorial/general/examples.html

// USING TECHNIQUE BELOW, One CAN Itereate Through the set of nodes

// Associated with a given xpath query and process the accountingly.

XpathnodeEiterator xpn = xpnav.select (xpathquery);

IF (xpn.movenext ())

Return xpn.current.value;

Else

Return string.empty;

}

String strreturn = processxpathQuery (xpnav, "descendant :: userid);

2) Different levels

a. Cycle is returned

Private Void ProcessRequestXML (Xpathnavigator Xpnav, Int Level)

{

Xpnav.movetofirstchild ();

DO

{

Switch (xpnav.localname)

{

Case "Userid":

MyReq.userid = xpnav.value.toString (). Trim ();

Break;

Case "Password":

Myreq.password = xpnav.value.toString (). Trim ();

Break;

Case "Flightnumber":

IF (Level == 0)

Myreq.flightnumber = xpnav.value.tostring (). TRIM ();

Else IF (level == 4)

Myflight.flightnumber = xpnav.value.toString (). Trim ();

Break;

Case "RESERVATION":

ProcessRequestXML (XPNAV, Level 1);

Xpnav.movetoparent ();

Break;

// RESERVATION CHILD NODES

Case "OrderID":

MyRESERVATION.Orderid = xpnav.value.toString (). Trim ();

Break;

DEFAULT:

Break;

}

} while (xpnav.movetonext ());

ProcessRequestXML (XPNAV, 0);

2. Turn string to XML document type

StringReader SR = New StringReader (MyXML);

XpathDocument XP = New XpathDocument (SR);

Xpathnavigator xpnav = xp.createnavigator ();

Xpnav.movetofirstchild ();

3. Turn the XML document type to string

Public String Responsexml (String Node, String Message)

{

StringBuilder SB = New StringBuilder ();

StringWriter SW = New StringWriter (SB);

XMLTextWriter XW = New XMLTextWriter (SW);

Xw.formatting = formatting.indented;

Xw.writestartDocument ();

xw.writestartElement ("ErrorMessage");

xw.writeElementsTRING ("Node", Node);

Xw.writeElementsTRING ("Message", Message;

Xw.writeEndelement ();

Xw.writeEndDocument ();

String sxmlresponse = sb.tostring ();

Return SxmlResponse;

}

转载请注明原文地址:https://www.9cbs.com/read-55839.html

New Post(0)