Skip to main content
Inspiring
September 12, 2015
Answered

read xml

  • September 12, 2015
  • 2 replies
  • 862 views

I need to read the xml file and get the attribute value

<?xml version="1.0" encoding="UTF-8"?>

<SOURCE>

    <Paragraph ParaNumber="Pg_1_P_3"/>

    <Paragraph ParaNumber="Pg_1_P_4"/>

   

</SOURCE>

var outmyf=Folder.selectDialog("Choose Out folder path");

var FilePath=new File(outmyf+"/PageNumber.xml");

//alert (FilePath)

var xmlFile = new File(FilePath);

if(xmlFile.exists)

{

    var xmlFileOpenFlag = xmlFile.open("r");

    if(xmlFileOpenFlag == true)

    {

        var xmlFileContents = xmlFile.read();

        var root = new XML(xmlFileContents); 

        var Pageno = root.xpath("/SOURCE/Paragraph[@ParaNumber]"); 

    }

}

But I need only the attribute value of the xml element the above code returning all the values.

This topic has been closed for replies.
Correct answer Ronald63

Hi,

Try this...

var outmyf=Folder.selectDialog("Choose Out folder path");

var FilePath=new File(outmyf+"/PageNumber.xml");

//alert (FilePath)

var xmlFile = new File(FilePath);

if(xmlFile.exists)

{

    var xmlFileOpenFlag = xmlFile.open("r");

    if(xmlFileOpenFlag == true)

    {

        var xmlFileContents = xmlFile.read();

        var root = new XML(xmlFileContents);

        var Pageno = root.xpath("/*/@ParaNumber");

        len= Pageno.length();

        while (len --){

            var ParaNumberValue = Pageno[len];

            alert(ParaNumberValue);

        }

    }

}

Regards

2 replies

Marc Autret
Brainiac
September 15, 2015

Note that root.xpath("/*/@ParaNumber") can be abbreviated root.*.@ParaNumber (this returns the same XMLList).

Also, the para numbers can be collected into an Array this way:

var a = root.*.@ParaNumber.toXMLString().split(/[\r\n]+/);

alert( a );


@+

Marc

Inspiring
September 15, 2015

Its working marc thanks for this.

Ronald63Correct answer
Brainiac
September 12, 2015

Hi,

Try this...

var outmyf=Folder.selectDialog("Choose Out folder path");

var FilePath=new File(outmyf+"/PageNumber.xml");

//alert (FilePath)

var xmlFile = new File(FilePath);

if(xmlFile.exists)

{

    var xmlFileOpenFlag = xmlFile.open("r");

    if(xmlFileOpenFlag == true)

    {

        var xmlFileContents = xmlFile.read();

        var root = new XML(xmlFileContents);

        var Pageno = root.xpath("/*/@ParaNumber");

        len= Pageno.length();

        while (len --){

            var ParaNumberValue = Pageno[len];

            alert(ParaNumberValue);

        }

    }

}

Regards