Read xml data in java -
Read xml data in java -
i trying read xml file info using java program. o/p shows null only.
the thought read value illustration content name below xml file 1.e. content value="assetflow_trial_07.mpg" below xml file. blank output only.
below xml file,
xml file:
<?xml version="1.0" encoding="utf-8"?> <adi> <metadata> <ams asset_name="mntario8616_8889pk_026" provider="rogers" product="draod" version_major="4" version_minor="12" description="kids_in_hall_ep__1package_asset" creation_date="2010-06-11" provider_id="hboworld" asset_id="tjpk0000000000000026" asset_class="package"/> <app_data app="mod" name="provider_content_tier" value="ifcc_free_10"/> <app_data app="mod" name="metadata_spec_version" value="cablelabsvod1.1"/> </metadata> <asset> <metadata> <ams asset_name="mntario8616_8889m_024" provider="rogers" product="draod" version_major="1" version_minor="0" description="kids_in_hall_ep__1title_movie" creation_date="2010-06-11" provider_id="hboworld" asset_id="tjmv0000000000000024" asset_class="movie"/> <app_data app="mod" name="type" value="movie"/> <app_data app="mod" name="encryption" value="n"/> <app_data app="mod" name="audio_type" value="stereo"/> <app_data app="mod" name="languages" value="en"/> <app_data app="mod" name="viewing_can_be_resumed" value="y"/> <app_data app="mod" name="hdcontent" value="y"/> </metadata> <content value="assetflow_trial_07.mpg"/> </asset>
this java code,
java code:
xmlinputfactory mill = null; xmlstreamreader reader = null; xmlinputfactory mill = null; xmlstreamreader reader = null; seek { mill = xmlinputfactory.newinstance(); factory.setproperty(xmlinputfactory.is_coalescing, true); reader = factory.createxmlstreamreader(new fileinputstream(new file( "d:\\seachange\\assetflow test files\\dr-sun3.xml"))); boolean readcharacters = false; while (reader.hasnext()) { int event = reader.next(); switch (event) { case (xmlstreamconstants.start_element): { if (reader.getlocalname().equals("metadata")) { readcharacters = true; } break; } case (xmlstreamconstants.characters): { if (readcharacters) { system.out.println(reader.gettext()); readcharacters = false; } break; } } } } grab (throwable t) { t.printstacktrace(); } { seek { reader.close(); } grab (throwable t) { t.printstacktrace(); } }
any help appreciated!1!
i using spring read file point 1 time xml document can query it. if project maven. this.
pom:
<properties> <java-version>1.8</java-version> <spring.version>4.1.0.release</spring.version> <junit.version>4.11</junit.version> </properties> <dependencies> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies>
then in main method phone call function
public static void main( string[] args ) throws exception { readxmlfile(); } private static void readxmlfile() throws exception{ resource resource = new classpathresource("myxmlfile.xml"); file xmlfile = resource.getfile(); documentbuilderfactory builderfactory = documentbuilderfactory.newinstance(); documentbuilder builder = builderfactory.newdocumentbuilder(); builder.seterrorhandler(new domerrorhandler()); bufferedinputstream in = new bufferedinputstream(new fileinputstream(xmlfile)); document xmldocument = builder.parse(in); xmldocument.getdocumentelement().normalize(); xpathfactory mill = xpathfactory.newinstance(); xpath xpath = factory.newxpath(); string selectfirstnode = "/adi/asset/content[@value='assetflow_trial_07.mpg']"; object result = executexpathexpression(xmldocument, selectfirstnode, xpath, xpathconstants.node); node firstnode = (node) result; string nodename = firstnode.getnodename(); system.out.println( nodename ); } public static object executexpathexpression(document xmldocument, string expression, xpath xpath, qname returntype) { object result = null; seek { xpathexpression xpathexpression = xpath.compile(expression); result = xpathexpression.evaluate(xmldocument, returntype); } grab (xpathexpressionexception e) { e.printstacktrace(); } homecoming result; } //end of executexpathexpression()
java xml
Comments
Post a Comment