??xml version="1.0" encoding="utf-8" standalone="yes"?>最近中文字幕mv免费高清在线,色视频一区二区三区,亚洲一区二区三区四区五区中文http://www.aygfsteel.com/flysky19/category/18418.htmljava之\zh-cnWed, 28 Feb 2007 03:44:21 GMTWed, 28 Feb 2007 03:44:21 GMT60通过虚拟路径或相对\径读取一个xml文gQ避免硬~码http://www.aygfsteel.com/flysky19/articles/90394.html不断前进的小乌龟不断前进的小乌龟Wed, 27 Dec 2006 14:42:00 GMThttp://www.aygfsteel.com/flysky19/articles/90394.htmlhttp://www.aygfsteel.com/flysky19/comments/90394.htmlhttp://www.aygfsteel.com/flysky19/articles/90394.html#Feedback0http://www.aygfsteel.com/flysky19/comments/commentRss/90394.htmlhttp://www.aygfsteel.com/flysky19/services/trackbacks/90394.html 2006q?2?9?br />参考资料:
java中相对\径,l对路径问题ȝ(verygood)
http://www.aygfsteel.com/efine66/archive/2006/12/12/87097.html

 如何在java中用相对\径?

http://dev.csdn.net/develop/article/39/39681.shtm
通过虚拟路径或相对\径读取一个xml文gQ避免硬~码

http://www.128kj.com/article/article5/7D66983DD9DD98A7753422A3A527FB6D.htm?id=438

java使用相对路径dxml文gQ?br />一、xml文g一般的存放位置有三个:
1.攑֜WEB-INF下;
2.xml文g攑֜/WEB-INF/classes目录下或classpath的jar包中Q?br />3.攑֜与解析它的javacd一个包中,不一定是classpathQ?/font>

二、相对应的两U用相对\径的dҎ(gu)Q?/font>

Ҏ(gu)一Q(未验证)
xml文g攑֜WEB-INF目录下,然后
E序代码Q?
InputStream is=getServletContext().getResourceAsStream( "/WEB-INF/xmlfile.xml" );

Ҏ(gu)二:xml文g攑֜/WEB-INF/classes目录下或classpath的jar包中Q则可以使用ClassLoader的静态方法getSystemResourceAsStream(String s)dQ?br />E序代码Q?br />String s_xmlpath="com\xml\hotspot.xml";
InputStream in=ClassLoader.getSystemResourceAsStream(s_xmlpath);

Ҏ(gu)三:xml在随意某个包路径下:
String s_xmlpath="com\xml\hotspot.xml";
ClassLoader classLoader=HotspotXmlParser.class.getClassLoader();
InputStream in=classLoader.getResourceAsStream(s_xmlpath);



 



]]>
问题Q在J2EE工程中xml文g应该攑֜哪里Q以及如何根据相对\径读到它Q?/title><link>http://www.aygfsteel.com/flysky19/articles/88101.html</link><dc:creator>不断前进的小乌龟</dc:creator><author>不断前进的小乌龟</author><pubDate>Sat, 16 Dec 2006 01:29:00 GMT</pubDate><guid>http://www.aygfsteel.com/flysky19/articles/88101.html</guid><wfw:comment>http://www.aygfsteel.com/flysky19/comments/88101.html</wfw:comment><comments>http://www.aygfsteel.com/flysky19/articles/88101.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/flysky19/comments/commentRss/88101.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/flysky19/services/trackbacks/88101.html</trackback:ping><description><![CDATA[ <p>问题1Q在J2EE工程中xml文g应该攑֜哪里Q是和class文g攑֜一?q是和jsp文g攑֜一P或者哪一U方式更好?如果和jsp文g攑֜一P那么岂不是客L(fng)也能看到q个xml文gQ会不会引v安全问题Q?/p> <p>问题2Q解析xml文gӞ如何用相对\径找到该自己定义的xml文gQ?br />如果该xml文g和jsp文g攑֜一P那么可以通过jsp的HttpServletRequest方式Ҏ(gu)相对路径dQ但是若该xml文g和java文g在同一个包中又如何处理呢?另外Q用HttpServletRequest方式的java~码具体是如何实现的呢?</p> <p> </p> <img src ="http://www.aygfsteel.com/flysky19/aggbug/88101.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/flysky19/" target="_blank">不断前进的小乌龟</a> 2006-12-16 09:29 <a href="http://www.aygfsteel.com/flysky19/articles/88101.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dom4j解析xml和生成xml文g061103http://www.aygfsteel.com/flysky19/articles/88099.html不断前进的小乌龟不断前进的小乌龟Sat, 16 Dec 2006 01:28:00 GMThttp://www.aygfsteel.com/flysky19/articles/88099.htmlhttp://www.aygfsteel.com/flysky19/comments/88099.htmlhttp://www.aygfsteel.com/flysky19/articles/88099.html#Feedback0http://www.aygfsteel.com/flysky19/comments/commentRss/88099.htmlhttp://www.aygfsteel.com/flysky19/services/trackbacks/88099.html参考资?
Dom4j 使用?br />作者:C icecloud(AT)sina.com
http://blog.csdn.net/icecloud/archive/2003/12/17/7795.aspx

dom4j API和源码、例子下载网址:
http://sourceforge.net/project/showfiles.php?group_id=16035
下蝲dom4j-1.6.1.zipQ带源码和例子?/p>

一.dom4j解析xml
q部分内容之前已l写q,作ؓ完整性,仅仅在此列出上次的代码:
package com.ict.shrd;

//import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Attribute;
import java.util.List;
import java.util.Iterator;

import org.dom4j.dom.DOMDocument;
import org.dom4j.io.XMLWriter;
import java.io.*;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;

import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;

public class HjbhTableNameList{
 private String enName="";
 private String cnName="";
 private HashMap map=new HashMap();

 public String getEnName() {
  return enName;
 }
 public HashMap getTableListFromXml(File f){
  try{
   SAXReader reader = new SAXReader();
   Document doc = reader.read(f);
   Element root = doc.getRootElement();
   Element firstChild=root.element("hjbh");
   for (Iterator i = firstChild.elementIterator("tableName"); i.hasNext();) {
    Element foo = (Element) i.next();
    this.enName=foo.attributeValue("enName");
    this.cnName=foo.getText();
    map.put(enName,cnName);
   }
  } catch (Exception e) {
   e.printStackTrace();
      }
  return map;
 }

 public static void main(String arge[]) {
  File f = new File("E:\\jiangcm\\workspace-forict\\JavaBasis\\xml\\shrd.xml");
  HashMap map=new HashMap();
  HjbhTableNameList tableList=new HjbhTableNameList();
  map=tableList.getTableListFromXml(f);
  Set enNameSet=map.keySet();
  String enName="";
  for (Iterator i = enNameSet.iterator(); i.hasNext();) {
   enName=(String)i.next();
   //System.out.println(enName);
   System.out.println(map.get(enName));
  }
  
   
  }
}

二。dom4j生成xml?wi)?br />完整代码:
package xml;

import org.dom4j.*;
import java.io.*;

public class XmlCreator{
  public void createXML(String fileName) {

         Document doc = org.dom4j.DocumentHelper.createDocument();

         Element root = doc.addElement("book");

         root.addAttribute("name", "我的图书");

 

         Element childTmp;

         childTmp = root.addElement("price");

         childTmp.setText("21.22");

 

         Element writer = root.addElement("author");

         writer.setText("李四");

         writer.addAttribute("ID", "001");

 

         try {
             //注意q里使用的是FileOutputStreamQ而不是FileWriter,因ؓ涉及到编码问?br />             //详细见“dom4j~码问题解决”篇?/p>

             org.dom4j.io.XMLWriter xmlWriter = new org.dom4j.io.XMLWriter(

                     new FileOutputStream(fileName));

             xmlWriter.write(doc);

             xmlWriter.close();

         }

         catch (Exception e) {

             System.out.println(e);

         }

     }
  public static void main(String[] args){
   XmlCreator xmlCreator=new XmlCreator();
   xmlCreator.createXML("E:\\jiangcm\\book.xml");
  }
}



]]>
xsd验证061107http://www.aygfsteel.com/flysky19/articles/88100.html不断前进的小乌龟不断前进的小乌龟Sat, 16 Dec 2006 01:28:00 GMThttp://www.aygfsteel.com/flysky19/articles/88100.htmlhttp://www.aygfsteel.com/flysky19/comments/88100.htmlhttp://www.aygfsteel.com/flysky19/articles/88100.html#Feedback0http://www.aygfsteel.com/flysky19/comments/commentRss/88100.htmlhttp://www.aygfsteel.com/flysky19/services/trackbacks/88100.html参考资料:
dom4j API DOC (到SourceForge.net 上下载dom4j-1.6.1.zipQ下载后׃在里面找到doc?

dom4j ?xerces-2.4.0 利用schema验证xml问题
http://www2.matrix.org.cn/thread.shtml;jsessionid=E282E65FCE68F3A4D25B0962DCE6F813?topicId=45719&forumId=13

DOM4J 验证XML Schema Q我要的成功 的blogQ?br />http://kingofhawks.spaces.live.com/?_c11_BlogPart_blogpart=blogview&_c=BlogPart&partqs=cat%3d%25e8%25ae%25a1%25e7%25ae%2597%25e6%259c%25ba%25e4%25b8%258e%2bInternet

Xerces-Java 2 中的 XML Schema 验证 (dQ?a href="mailto:jchunmei19@126.com/05602050">jchunmei19@126.com/05602050)
http://www-128.ibm.com/developerworks/cn/views/xml/tutorials.jsp?cv_doc_id=84985

 

xsd验证

一Qjava中如何用dom4j的SAXReader实现验证Q?/p>

1.xml验证用于验证W合xml语法格式的xml文g是否W合特定的xml Schema以及数据cd{,xml验证主要有两U方式,DTD和XSDQ现采用的是XSD方式。xsd文g的语法格式和~写参考“xsd学习(fn)W记”这,现在介绍准备好了xsd文g之后Qjava中如何用dom4j的SAXReader实现验证。下面进入正文:

2.M技术的介绍Q代码都是最直观的,下面来直接看SAXReader实现验证的代码:
 public static boolean isXmlOK(String xsdFile, byte[] tagetXml) throws SAXException, IOException, DocumentException
 {
  boolean flag = true;
  SAXReader reader = new SAXReader();
  reader.setValidation(true);
  
  reader.setFeature("  reader.setFeature("  reader.setProperty("  //reader.setProperty("

  XMLErrorHandler errorHandler = new XMLErrorHandler();
  reader.setErrorHandler(errorHandler);
  InputStream in = new ByteArrayInputStream(tagetXml);
  InputStreamReader utf8In=new InputStreamReader(in,"utf-8");
  //Document document = reader.read(in);
  reader.read(utf8In);
  XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
  if (errorHandler.getErrors().hasContent()) {
   flag = false;
      //writer.write(errorHandler.getErrors());
  } else {
      System.out.println("Xml is OK!.");
  }
  return flag;
 }

3.对上qC码的注释Q?/p>

主要思\Q设|SAXReader支持验证 -〉得到xsd文g的\?-〉读入要验证的xml文g -〉OKQ;

验证程Q?/p>

-〉设|支持验证;
SAXReader reader = new SAXReader();
reader.setValidation(true);

-〉设|支持验证的几个feature的|
注明QSAXReader的各个函数的作用和用法详见dom4j api doc?/p>

-〉设|xsd文g路径的Property|q样可以依据xsd文gq行验证了;
语法格式Qpublic void setProperty(java.lang.String name,java.lang.Object value)

-〉读入要验证?xml文g或xml格式的字W串Q?/p>

*若验证的?xml文gQ则reader.read(param)中的param为xml文g的\径,q个xml文g的\径应该设|ؓ相对路径Q(xml相对路径如何获取和表C个问题有待解冻I

*若验证的是字W串Q则要把字符串{换ؓInputStreamcdQ这是readҎ(gu)的参数要求。(详见dom4j api docQ?

那么怎么把字W串转换为InputStreamcd呢?

法一Q?/p>

我们知道QByteArrayInputStream(byte[] buf)Ҏ(gu)可以使byte字节码{为InputStream,那么我们先通过getBytes()Ҏ(gu)把字W串转ؓbyte[]cdQ再通过ByteArrayInputStream(byte[] buf)Ҏ(gu)转ؓInputStream就ok了!

String xmldescription = (String) obj;  
byte[] xmlMsgBytes =xmldescription.getBytes();
…?br />InputStream in = new ByteArrayInputStream(xmlMsgBytes);

法二Q?br />InputStream in=TAEncodeDecoderFactory.class.getResourceAsStream("encoder_decoder_mapping.xml");


-〉这样SAXReader可以根据xsd文gҎ(gu)d的xml信息q行验证了!


-〉接下来Q还可以使用XMLErrorHandler和XMLWriterq两个类在控制台输出错误提示信息Q?/p>

-〉xml validation is okQ?/p>

?内容补充Q?/p>

参考资料“DOM4J 验证XML Schema Q我要的成功 的blogQ?br />http://kingofhawks.spaces.live.com/?_c11_BlogPart_blogpart=blogview&_c=BlogPart&partqs=cat%3d%25e8%25ae%25a1%25e7%25ae%2597%25e6%259c%25ba%25e4%25b8%258e%2bInternet”中提到“如何读取Class path下的xsd文g:需要实现EntityResolver 接口,在resolveEntity()中读取当前类路径下的xsd文g,q返回InputSource instance.”的问题Q下面谈谈对EntityResolver的理解:

q段代码是关于实体解析器用来解析外部实体引用的,在这里ƈ不需要?/p>

注释Q?br />1.关于什么是实体Q什么是外部实体Q详见资料:
xml实用大全
http://phpso.com/data/htm/XML/408.htm

2.关于实体解析器如何用,详见资料Q?br />技巧:使用实体解析?br />http://www-128.ibm.com/developerworks/cn/xml/tips/x-tipent/index.html


?未解决的问题:
如何获取xml相对路径Q?br />



]]>
dom4j~码问题解决061103http://www.aygfsteel.com/flysky19/articles/88098.html不断前进的小乌龟不断前进的小乌龟Sat, 16 Dec 2006 01:26:00 GMThttp://www.aygfsteel.com/flysky19/articles/88098.htmlhttp://www.aygfsteel.com/flysky19/comments/88098.htmlhttp://www.aygfsteel.com/flysky19/articles/88098.html#Feedback0http://www.aygfsteel.com/flysky19/comments/commentRss/88098.htmlhttp://www.aygfsteel.com/flysky19/services/trackbacks/88098.html参考资料:Q?个都是好资料Q?/p>

Dom4j ~码问题d解决 作者:lonsen
http://www.5inet.net/Develop/Java/036579,Dom4j_BianMaWenDiCheDeJieJue.aspx

“中文问题没商量”之Dom4j中的~码问题
作? 盛忠良?
http://blog.lupaworld.com/blog/htm/do_showone/tid_2261.html

JAVA~码问题的一些理?br />http://www.jspcn.net/htmlnews/11049393353751902.html

用dom4j解析中文字符Ӟ出现org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence.各位帮小弟看?br />http://dev.9983.com/ku/5403/4683267.asp

自己的ȝQ?br />1、“org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence.”异常分析和解决Q?br />分析Q?br />该异常由下面的reader.read(file);语句抛出Q?br />SAXReader reader = new SAXReader();
Document doc = reader.read(file);

产生q个异常的原因是Q?br />所ȝxml文g实际是GBK或者其他编码的Q而xml内容中却?lt;?xml version="1.0" encoding="utf-8"?>指定~码为utf-8Q所以就报异怺Q?/p>

注释Q参考网上的《Java/J2EE中文问题l极解决之道》一文,~码问题原因应该是:操作pȝ~码为GBKQ而xml指定为utf-8QSAXReader使用pȝ的默认编码GBKQ所以存在需要{换编码的问题Q也p然会出现q了!解决Q让文g~码和java 操作该文件的接口的编码一_

解决Q?br />情况一Q该xml文g由dom4j生成Q?/p>

解决Ҏ(gu)Q用 org.dom4j.io.XMLWriter xmlWriter = new org.dom4j.io.XMLWriter(
                    new FileOutputStream(fileName));
代替
 xmlWriter = new XMLWriter(new FileWriter(fileName));
Q指定编码ؓutf-8生成xml文gQ?/p>

详细参考资?Q?br />Dom4j ~码问题d解决 作者:lonsen
http://www.5inet.net/Develop/Java/036579,Dom4j_BianMaWenDiCheDeJieJue.aspx

情况?解析从jsp面中读取到的用戯入的xml描述内容Ӟreader.read()抛出异常Q?/p>

解决Ҏ(gu)Q?br />调用read前先把xml内容转ؓutf-8~码Q(使用支持~码格式的函敎ͼ

  public void validate(FacesContext context, UIComponent component,  Object obj) 
     throws ValidatorException { 
  
            String xmldescription = (String) obj;  
     byte[] bytes =xmldescription.getBytes(); 
            RelationXmlParser.isXmlOK("E:\\jiangcm\\templateXMLSchema.xsd",bytes);  
     …?br />    }

 public static boolean isXmlOK(String xsdFile, byte[] tagetXml) throws SAXException,                  IOException, DocumentException
 {
  SAXReader reader = new SAXReader();
                …?br />  InputStream in = new ByteArrayInputStream(tagetXml);
  InputStreamReader utf8In=new InputStreamReader(in,"utf-8");
                …?br />        }


 



]]>
C会热点~码实现思\http://www.aygfsteel.com/flysky19/articles/88097.html不断前进的小乌龟不断前进的小乌龟Sat, 16 Dec 2006 01:15:00 GMThttp://www.aygfsteel.com/flysky19/articles/88097.htmlhttp://www.aygfsteel.com/flysky19/comments/88097.htmlhttp://www.aygfsteel.com/flysky19/articles/88097.html#Feedback0http://www.aygfsteel.com/flysky19/comments/commentRss/88097.htmlhttp://www.aygfsteel.com/flysky19/services/trackbacks/88097.html1.写一个类TableNameListQ用dom4j解析xmlQ读取xmlQ把xml中的"enName"?cnName"存入一个HashMap中;
2、jsp中显C名:Object[] keys=Map.keySet().toArray(); <%=keys[i]%>

疑问Q?br />1.如何在文字上实现onClick事gQ比如说Q一点击“环境保护”,出现所有的表名Q一点击“表名”,出现相应的表数据;因ؓ它不?lt;select>{标{一P可以Ҏ(gu)idp获取它们的value|

 

HashMap|址:
有关HashMap的用问?br />http://zhidao.baidu.com/question/3288995.html

HashMap使用一?br />http://www.128kj.com/article/article1/62DE24F2E9419FA8D9386750E9F68451.htm?id=1342

http://leeboo.spaces.live.com/



]]>
վ֩ģ壺 ʼ| | | ̩| | | ƽ| | | ԭ| ʯ| ڻ| ¡| ̨| ຣʡ| ƽ| | | ƽ| | | | ۶| | | | | ԭ| ̶| ½| | п| | ʶ| ĩ| | Ӧ| | Ĭ| | ͳ|