How to chk the Node in XML is Null and insert a value

Con risposta How to chk the Node in XML is Null and insert a value

  • giovedì 1 marzo 2012 22:41
     
     

    I have string i need to load it as xmldoc

    The code i wrote in c# is:

    string strData = "<Data><Select name=\"TPTP\" type=\"Row\"><Column name=\"_Clss\">Demo</Column><Column name=\"_Lib\">Demo.dll</Column><Column name=\"_Mod\">1</Column><Column name=\"_Func\">1</Column><Column name=\HE_ID\">000001</Column> <Column name=\"LOCK\">1</Column><Column name=\"PTPR_\">0:00:00.200</Column>

    </Select>

    <Select name=\"TPTP\" type=\"Row\">

    <Column name=\"_Clss\">Demo</Column><Column name=\"_Lib\">Demo.dll</Column><Column name=\"_Mod\">1</Column><Column name=\"_Func\">1</Column><Column name=\HE_ID\">000002</Column><Column name=\"LOCK\">1</Column><Column name=\"PTPR_\">0:00:00.200</Column>

    </Select>

    <Select name=\"TPTP\" type=\"Row\">

    <Column name=\"_Clss\">Demo</Column><Column name=\"_Lib\">Demo.dll</Column><Column name=\"_Mod\">1</Column><Column name=\"_Func\">1</Column><Column name=\HE_ID\"></Column><Column name=\"LOCK\">1</Column><Column name=\"PTPR_\">0:00:00.200</Column>

    </Select>

    </Data>";

    XmlDocument xmlDoc = new XmlDocument();

    xmlDoc.LoadXml(strData);

    after loading the the xml i need to chk for the HE_ID is null and then insert a value can any one send me the code Please?


    rajunarender

    • Spostato Helen Zhou venerdì 2 marzo 2012 01:59 (From:Windows Forms General)
    •  

Tutte le risposte

  • venerdì 2 marzo 2012 01:59
     
     
    Hi Narender,

    This is forum for Windows Forms issue, the question you posted is about XML, I'm moving it to  XML, System.Xml, MSXML and XmlLite forum to make it get better support. Thank you for your support.  And hope you can get some help first from this thread: XML Null values 

    Sincerely,

    Helen Zhou [MSFT]
    MSDN Community Support | Feedback to us

  • venerdì 2 marzo 2012 11:07
     
     Con risposta Contiene codice

    You can select the element(s) with XPath and then you can manipulate the InnerText; here is an example:

                string strData = "<Data><Select name=\"TPTP\" type=\"Row\"><Column name=\"_Clss\">Demo</Column><Column name=\"_Lib\">Demo.dll</Column><Column name=\"_Mod\">1</Column><Column name=\"_Func\">1</Column><Column name=\"HE_ID\">000001</Column> <Column name=\"LOCK\">1</Column><Column name=\"PTPR_\">0:00:00.200</Column></Select><Select name=\"TPTP\" type=\"Row\"><Column name=\"_Clss\">Demo</Column><Column name=\"_Lib\">Demo.dll</Column><Column name=\"_Mod\">1</Column><Column name=\"_Func\">1</Column><Column name=\"HE_ID\">000002</Column><Column name=\"LOCK\">1</Column><Column name=\"PTPR_\">0:00:00.200</Column></Select><Select name=\"TPTP\" type=\"Row\"><Column name=\"_Clss\">Demo</Column><Column name=\"_Lib\">Demo.dll</Column><Column name=\"_Mod\">1</Column><Column name=\"_Func\">1</Column><Column name=\"HE_ID\"></Column><Column name=\"LOCK\">1</Column><Column name=\"PTPR_\">0:00:00.200</Column></Select></Data>";
    
                XmlDocument xmlDoc = new XmlDocument();
    
                xmlDoc.LoadXml(strData);
    
    
                XmlNodeList emptyFields = xmlDoc.SelectNodes("//Column[@name = 'HE_ID' and not(node())]");
    
                for (int i = emptyFields.Count - 1; i >= 0; i--)
                {
                    emptyFields[i].InnerText = "new value";
                }
                xmlDoc.Save("newfile.xml");
    
    


    MVP Data Platform Development My blog

    • Proposto come risposta Shay Feldman lunedì 5 marzo 2012 22:28
    • Contrassegnato come risposta Narender Raju lunedì 2 aprile 2012 06:14
    •