資料庫生成xml文件
『壹』 java讀取oracle資料庫裡面的數據生成xml文件,生成的xml文件出現亂碼怎麼解決
跟蹤問題所在:
1、查詢一下資料庫,判斷在資料庫中的時候,是否是已經存在了亂碼。
2、在讀取到Java的時候,你用SystemOut輸出一下,判斷這個時候,是否是亂碼。
3、寫入到xml文件的時候,XML中是否是亂碼。
如果是1種情況出現亂碼,則是寫入資料庫的時候出現亂碼,需要更改寫入程序的代碼。
如果是2種情況出現亂碼,則是讀取Oracle的字元集出現錯誤,設置讀取的字元集。
如果是3種情況出現亂碼,則是在Java類中寫入的時候,設置字元集,查看資料庫字元集,設置為UTF-8、或者是GBK字元集。
希望對你有幫助。
『貳』 從資料庫中讀取數據,創建xml文件
如果是sql2005以上版本就簡單了
SELECT TOP 10 * FROM dbo.UserInfo
FOR XML PATH('UserInfo'),ROOT ('UserList')
就會生成以下XML
PATH裡面的字元串生成行標簽
ROOT生成根標簽
<UserList>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小張</NickName>
......
</UserInfo>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小張</NickName>
......
</UserInfo>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小張</NickName>
......
</UserInfo>
......
</UserList>
『叄』 如何將數據表中數據存為xml文件
我只是知道用jdom編程實現將資料庫中的數據導出為XML文件,這里有一個jsp的例子,也許有點參考作用,用的是SQLServer2000資料庫:(需要下載JDOM.jar)
<%@pagecontentType="text/html;charset=GBK"%>
<HTML>
<HEAD>
<TITLE>用JDOM實現資料庫到XML的轉換</TITLE>
</HEAD>
<BODY>
<%@pageimport="java.sql.*"%>
<%@pageimport="java.util.*"%>
<%@pageimport="java.io.*"%>
<%@pageimport="java.lang.*"%>
<%@pageimport="com.microsoft.jdbc.sqlserver.SQLServerDriver"%>
<%@pageimport="org.jdom.*"%>
<%@pageimport="org.jdom.output.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=practice";
Stringuser="sa";
Stringpassword="123456";
Connectionconn=DriverManager.getConnection(url,user,password);
Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringsql="select*fromcustom";
ResultSetrs=stmt.executeQuery(sql);
Documentdocument=newDocument(newElement("clist"));//創建文檔
ResultSetMetaDatarsmd=rs.getMetaData();//獲取欄位名
intnumberOfColumns=rsmd.getColumnCount();//獲取欄位數
inti=0;
while(rs.next()){//將查詢結果取出
Elementelement0=newElement("cilent");//創建元素生成JDOM樹
document.getRootElement().addContent(element0);
for(i=1;i<=numberOfColumns;i++)
{Stringdate=newString(rs.getString(i).getBytes("ISO-8859-1"),"gb2312");//代碼轉換
Elementelement=newElement(rsmd.getColumnName(i)).setText(date);
element0.addContent(element);
}
}
rs.close();//關閉結果集
stmt.close();//關閉statement
conn.close();//關閉連接
XMLOutputteroutp=newXMLOutputter("",true,"GB2312");
outp.output(document,newFileOutputStream("D:\Tomcat\webapps\learn\jsp\data.xml"));//輸出XML文檔
out.print("XML文檔生成完畢!");
%>
<ahref="../jsp/data.xml">點擊打開產生的XML文檔</a>
</BODY>
</HTML>
用JAVA也可以實現,做法基本相同。
『肆』 如何把資料庫的表弄成xml格式
方法:
點擊Excel左上角按鈕,在彈出的選項中,點擊「另存為」
或者直接在Excel中按下快捷鍵F12
2、選擇最後一項:其他格式。
3、接下來,重命名一下文件名,並選擇文件類型為:
XML數據(*.xml)
4、點擊「保存」按鈕,會出現如下錯誤警告:
因為工作簿不包含任何XML映射,所以無法保存任何XML數據。
單擊「幫助」以獲取詳細信息。
5、這個原因是我們的工作簿只是普通的Excel數據,的確沒有做過XML映射,或者Excel數據也不是從XML文件導入的。
這時,我們嘗試另存為另一種文件類型:
XML電子表格2003(*.xml)
6、點擊保存按鈕。
7、這時會彈出一個兼容性對話框,問你是否保持工作簿的這種格式。
8、點擊「是」,即可將Excel保存為XML格式的文檔了。
我們使用軟體打開這個XML文檔(例如通過Chrome瀏覽器),發現格式正常,Excel數據也全在裡面。
『伍』 怎麼把資料庫信息轉換成XML文件
如果是Sql2005以上版本就簡單了。
SELECT TOP 10 * FROM dbo.UserInfo
FOR XML PATH('UserInfo'),ROOT ('UserList')
就會生成以下XML
PATH裡面的字元串生成行標簽
ROOT生成根標簽
<UserList>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小張</NickName>
......
</UserInfo>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小張</NickName>
......
</UserInfo>
<UserInfo>
<UserName>administrator</UserName>
<Age>21</Age>
<NickName>小張</NickName>
......
</UserInfo>
......
</UserList>
『陸』 php讀取資料庫並生成xml文件
<?php
//讀取資料庫我就不說了,從資料庫取出來就行了
#使用dom生成xml,注意生成的xml中會沒有空格。
$dom=new DOMDocument('1.0','utf-8');
$time = time();
$path="$time.xml"; // $path 為xml文件的存儲路徑。
$mole=$dom->createElement('breakfast_menu');//創建一個節點
$dom->appendChild($mole); //在指定元素節點的最後一個子節點之後添加節點
$food=$dom->createElement('food'); //外body
$mole->appendChild($food);
$name=$dom->createElement('name'); //內table
$name_value=$dom->createTextNode('測試數據1');
$name->appendChild($name_value);
$food->appendChild($name);
$price=$dom->createElement('price'); //內table
$price_value=$dom->createTextNode('測試數據2');
$price->appendChild($price_value);
$food->appendChild($price);
$description=$dom->createElement('description'); //內table
$description_value=$dom->createTextNode('測試數據3');
$description->appendChild($description_value);
$food->appendChild($description);
$calories=$dom->createElement('calories'); //內table
$calories_value=$dom->createTextNode('測試數據4');
$calories->appendChild($calories_value);
$food->appendChild($calories);
$dom->saveXML();
$dom->save($path);
//var_mp($dom->save($path));exit;
if($dom->saveXML()){
echo "生成成功:".$dom->saveXML();
}else{
echo "生成失敗";
}
?>
『柒』 access資料庫如何生成xml文件
如果
xml
屬性值里包含雙引號,則有兩種方法:1.屬性值改用單引號界定
比如:caption='測試"測試'2.屬性值總的雙引號用實體引用替換
比如:caption="測試"測試"
但由於是程序動態生成的,建議:當屬性值用單引號界定時,那含有屬性值的變數比如A_name最好
把
單引號替換成
單引號的實體引用。當屬性值用雙引號界定時,那含有屬性值的變數比如A_name最好
把
雙引號替換成
雙引號的實體引用。這樣安全些。
不知道是不是你想要的答案。因為你的例子提示的那個
2個「"」號
沒什麼問題,只是屬性值的界定。
『捌』 請問如何從資料庫中讀取一個存儲過程並把查詢結果生成一個xml文件(c#)
這個是我寫的代碼,你把相應的名稱改一下就可以了:
==========================================================
usingSystem;
usingSystem.Data;
usingSystem.Data.SqlClient;
namespaceWriteXML
{
classProgram
{
staticvoidMain(string[]args)
{
//connectionstring
stringconnString=@"
server=.sql2005express;
integratedsecurity=true;
database=northwind";
stringqry=@"
select
proctname,
unitprice
from
procts";
SqlConnectionconn=newSqlConnection(connString);
try
{
SqlDataAdapterda=newSqlDataAdapter();
da.SelectCommand=newSqlCommand(qry,conn);
conn.Open();
DataSetds=newDataSet();
da.Fill(ds,"procts");
ds.WriteXml(@"C:.xml");
Console.WriteLine("ThefileisCreated");
}
catch(Exceptione)
{
Console.WriteLine("Error:"+e);
}
finally
{
conn.Close();
}
}
}
}
=================================================================
顯示效果如下: