java操作word2007,還有更簡單的方法,就是用Office中間件。
不用再去理會復雜頭疼的XML
⑵ Java中xml中數據的讀取
我想是這個問題。
class="ui.LayBackground "x="0" ,這個,你的屬性之間貌似有些沒有空格啊,調下格式,連在一起恐怕有問題
⑶ java中怎樣對讀取的xml數據中的特殊字元進行編碼
不確定有無,但你可以方便的自己寫一個這樣的方法
首先把字元轉換成int類型,這個int就表示那個字元的unicode值
然後把這個int轉成String類型
最後在這個String的前面加上就可以了
⑷ 關於java xml讀取時中文路徑的問題
這是人家api規定的,你可以選擇另一種方式啊,parse方法可以加很多參數的,它不接受中文,但是File可以啊,改成
builder.parse(new
File("中文路徑"))搞定。
⑸ java如何還原xml中的轉義字元
忽略來轉義的工具類, org.apache.commons.lang.StringEscapeUtils,其中源unescapeJava(String s)方法是來處理java轉義字元的,可以將字元串中的 「\」轉換為 「\」,「'」轉換為「'」等。通過這個方法處理以上字元串
public class Test(){ public static void main(String[] args) { String s = "\\u79fb\\u52a8\\u4e92\\u8054\\u7f51\\u5e94\\u7528"; String s2 = StringEscapeUtils.unescapeJava(s); System.out.println(s); System.out.println(s2); } }
輸出結果: \u79fb\u52a8\u4e92\u8054\u7f51\u5e94\u7528移動互聯網應用
⑹ java讀取轉義字元
public class a{
void b(){
你的那個轉義字元
}
public static void main(String [] args){
new a().b();
}
}
⑺ java怎樣讀取解析xml文件中的數據轉換成java對象
SAXBuildersb=newSAXBuilder();//建立構造器
Documentdoc;
try{
doc=sb.build("E:/userinfod301.xml");//讀入指定文件
Elementroot=doc.getRootElement();//獲得根節點
Listlist=root.getChildren();//將根節點下的所有ObjectInstance子節點放入List中
for(inti=0;i<list.size();i++){
List<Element>listNext=((Element)list.get(i)).getChildren();//將ObjectInstance節點下的所有Attribute放入List中
for(intj=0;j<listNext.size();j++){
Elementsub=(Element)listNext.get(j);//取得節點實例
System.out.println(sub.getAttribute("name").getValue());
System.out.println(sub.getText());
}
}
}catch(Exceptione){
e.printStackTrace();
}
⑻ 在Java中如何讀取XML字元串的元素值
java讀取xml節點元素,主要使用java提供的解析xml的工具類SAXParserFactory,如下代碼:
package xml.xmlreader;import java.io.File;import java.net.URL;import java.util.Properties;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;public class CFGParser {//解析xml文件的工具類 private Properties props; public Properties getProps() { return props; } public void setProps(Properties props) { this.props = props; } public void parse(String filename) throws Exception { CFGHandler handler = new CFGHandler(); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(false); factory.setValidating(false); SAXParser parser = factory.newSAXParser(); URL confURL = super.getClass().getClassLoader().getResource(filename); if (confURL == null) { System.out.println("Can't find configration file."); return; } try { parser.parse(confURL.toString(), handler); this.props = handler.getProps(); } finally { factory = null; parser = null; handler = null; } } public void parseFile(String filename) throws Exception { CFGHandler handler = new CFGHandler(); SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(false); factory.setValidating(false); SAXParser parser = factory.newSAXParser(); File f = new File(filename); if ((f == null) || (!f.exists())) return; try { parser.parse(f, handler); this.props = handler.getProps(); } finally { factory = null; parser = null; handler = null; } }}package xml.xmlreader;import java.util.Properties;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler; public class CFGHandler extends DefaultHandler{ private Properties props; private String currentSet; private String currentName; private StringBuffer currentValue = new StringBuffer(); public CFGHandler() { this.props = new Properties(); } public Properties getProps() { return this.props; } public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { this.currentValue.delete(0, this.currentValue.length()); this.currentName = qName; } public void characters(char[] ch, int start, int length) throws SAXException { this.currentValue.append(ch, start, length); } public void endElement(String uri, String localName, String qName) throws SAXException { this.props.put(qName.toLowerCase(), this.currentValue.toString().trim()); }}xml文件 <?xml version="1.0" encoding="UTF-8"?><xml-body> <refresh_userlist desc="用戶列表刷新間隔時間(秒)">6</refresh_userlist> <refresh_message desc="短消息刷新間隔時間(秒)">10</refresh_message> <morningbegin desc="上午上班時間">23:00</morningbegin> <morningend desc="上午下班時間">12:00</morningend> <afternoonbegin desc="下午上班時間">18:00</afternoonbegin></xml-body>jsp獲取各個節點的值:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <jsp:useBean id="cfgp" scope="page" class="xml.xmlreader.CFGParser"></jsp:useBean> <body> <% cfgp.parse("kaoqin.xml"); Properties pro = cfgp.getProps(); String stTime = pro.getProperty("morningbegin"); String edTime = pro.getProperty("morningend"); String afternoonbegin = pro.getProperty("afternoonbegin"); out.println(stTime+"\n"+edTime+"\n"+afternoonbegin); System.out.println(stTime+"\n"+edTime+"\n"+afternoonbegin); %> </body></html>
⑼ 請教如何用JAVA解析含有雙引號的XML字元
存儲含有雙引號的字元串要用到轉義字元
例如字元串為: 含有雙引號""的字元串
在這其中,當出現轉義字元 的時候,其後面的雙引號 " 不會作為字元串的判定標志,而是以字元串本身的內容被寫入到這個字元串中
⑽ java 把「<"輸出到xml文件---xml轉義問題
xml轉義字元替換:
public void escape_xml_with_straight_java () {
static final String ESCAPED_XML =
"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>"
StringBuilder escapedXML = new StringBuilder();
for (int i = 0; i < XML_TO_ESCAPE.length(); i++) {
char c = XML_TO_ESCAPE.charAt(i);
switch (c) {
case '<':
escapedXML.append("<");
break;
case '>':
escapedXML.append(">");
break;
case '\"':
escapedXML.append(""");
break;
case '&':
escapedXML.append("&");
break;
case '\'':
escapedXML.append("'");
break;
default:
if (c > 0x7e) {
escapedXML.append("" + ((int) c) + ";");
} else
escapedXML.append(c);
}
}
assertEquals(ESCAPED_XML, escapedXML.toString());
}
總體思路就是遇到特殊字元,如"<",用"<"來替換就可以了。