Пример #1
0
        public static VTDNav parseString(String s)
        {
            VTDGen vg = new VTDGen();

            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();

            vg.setDoc(encoding.GetBytes(s));

            vg.parse(true);

            return(vg.getNav());
        }
Пример #2
0
        static void Main(string[] args)
        {
            VTDGen vg = new VTDGen();

            vg.setDoc(getBytes("<root>good</root>"));
            vg.parse(true);
            VTDNav vn = vg.getNav();
            int    i  = vn.getText();

            //print "good"
            Console.WriteLine("text ---> " + vn.toString(i));
            if (vn.overWrite(i, getBytes("bad")))
            {
                //overwrite, if successful, returns true
                //print "bad" here
                Console.WriteLine("text ---> " + vn.toString(i));
            }
        }
Пример #3
0
        public static void Main(String[] args)
        {
            String   xml = "<aaaa> <bbbbb> <ccccc> </ccccc> <ccccc/> <ccccc></ccccc> </bbbbb> </aaaa>";
            Encoding eg  = Encoding.GetEncoding("utf-8");
            VTDGen   vg  = new VTDGen();

            vg.setDoc(eg.GetBytes(xml));
            vg.parse(false);
            VTDNav    vn = vg.getNav();
            AutoPilot ap = new AutoPilot(vn);

            ap.selectXPath("//*");
            XMLModifier xm = new XMLModifier(vn);

            while (ap.evalXPath() != -1)
            {
                xm.updateElementName("d:/lalalala");
            }
            xm.output("lala.xml");
        }
Пример #4
0
        static void Main(string[] args)
        {
            try
            {
                int t;
                System.IO.FileInfo   f   = new System.IO.FileInfo("./soap2.xml");
                System.IO.FileStream fis =
                    new System.IO.FileStream(f.FullName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
                System.IO.FileInfo   f1  = new System.IO.FileInfo("./out.xml");
                System.IO.FileStream fos = new System.IO.FileStream(f1.FullName, System.IO.FileMode.Create);
                byte[] b = new byte[(int)f.Length];
                fis.Read(b, 0, (int)f.Length);
                AutoPilot ap = new AutoPilot();
                ap.declareXPathNameSpace("ns1", "http://www.w3.org/2003/05/soap-envelope");
                // get to the SOAP header
                ap.selectXPath("/ns1:Envelope/ns1:Header/*[@ns1:mustUnderstand]");
                Console.WriteLine("expr string is " + ap.getExprString());
                // instantiate the parser
                VTDGen vg = new VTDGen();
                int    j  = 0;
                VTDNav vn = null;
                while (j < 10)
                {
                    vg.setDoc_BR(b); // use setDoc_BR (instead of setDoc) to turn on buffer reuse
                    vg.parse(true);  // set namespace awareness to true
                    vn = vg.getNav();
                    ap.bind(vn);     // bind calls resetXPath() so

                    while ((t = ap.evalXPath()) != -1)
                    {
                        Console.WriteLine("j t--> " + j + " " + t);
                        long l      = vn.getElementFragment();
                        int  len    = (int)(l >> 32);
                        int  offset = (int)l;
                        fos.Write(b, offset, len); //write the fragment out into out.txt
                        System.Text.Encoding encoder = System.Text.Encoding.GetEncoding("ASCII");
                        byte[] bytes = encoder.GetBytes("\n=========\n");

                        fos.Write(bytes, 0, bytes.Length);
                    }
                    ap.resetXPath();
                    j++;
                }
                j = 0;
                Console.WriteLine("j -->" + j);
                vg.setDoc_BR(b); // use setDoc_BR (instead of setDoc) to turn on buffer reuse
                vg.parse(true);  // set namespace awareness to true
                vn = vg.getNav();
                ap.bind(vn);     // bind calls resetXPath() so
                t = -1;
                while (j < 10)
                {
                    while ((t = ap.evalXPath()) != -1)
                    {
                        Console.WriteLine("j t --> " + j + " " + t);
                        long l      = vn.getElementFragment();
                        int  len    = (int)(l >> 32);
                        int  offset = (int)l;
                        fos.Write(b, offset, len); //write the fragment out into out.txt
                        System.Text.Encoding encoder = System.Text.Encoding.GetEncoding("ASCII");
                        byte[] bytes = encoder.GetBytes("\n=========\n");

                        fos.Write(bytes, 0, bytes.Length);
                    }
                    ap.resetXPath();
                    j++;
                }

                fis.Close();
                fos.Close();
            }
            catch (ParseException e)
            {
            }
            catch (NavException e)
            {
            }
            catch (XPathParseException e)
            {
            }
            catch (XPathEvalException e)
            {
            }
            catch (System.IO.IOException e)
            {
            }
        }