<php
//读取数据库我就不说了,从数据库取出来就行了
#使用dom生成xml,注意生成的xml中会没有空格。
$dom=new DOMDocument('10','utf-8');
$time = time();
$path="$timexml"; // $path 为xml文件的存储路径。
$module=$dom->createElement('breakfast_menu');//创建一个节点
$dom->appendChild($module); //在指定元素节点的最后一个子节点之后添加节点
$food=$dom->createElement('food'); //外body
$module->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_dump($dom->save($path));exit;
if($dom->saveXML()){
echo "生成成功:"$dom->saveXML();
}else{
echo "生成失败";
}
>
跟踪问题所在:
1、查询一下数据库,判断在数据库中的时候,是否是已经存在了乱码。
2、在读取到Java的时候,你用SystemOut输出一下,判断这个时候,是否是乱码。
3、写入到xml文件的时候,XML中是否是乱码。
如果是1种情况出现乱码,则是写入数据库的时候出现乱码,需要更改写入程序的代码。
如果是2种情况出现乱码,则是读取Oracle的字符集出现错误,设置读取的字符集。
如果是3种情况出现乱码,则是在Java类中写入的时候,设置字符集,查看数据库字符集,设置为UTF-8、或者是GBK字符集。
希望对你有帮助。
VB的代码: Public Sub SaveValues()
Dim xml_document As DOMDocument
Dim values_node As IXMLDOMElement
Dim values_chilnode As IXMLDOMElement
Dim values_thrnode As IXMLDOMElement
Dim str As String
Dim strsql As String
Dim i As Integer Dim rs As ADODBRecordset
strsql = "select StudyTypeID,Title,enable,eMod from StudyType "
Set rs = gconnExecute(strsql)
Set xml_document = New DOMDocument
'创建根节点
Set values_node = CreateRootNode(xml_document, "root")
'创建词根节点
Set values_chilnode = CreateChildNode(xml_document, values_node, "user")
'循环rs记录集
While Not rsEOF
'再次创建词根节点
Set values_thrnode = CreateChildNode(xml_document, values_node, "userinfo")
'子节点加入父节点
AddElementToParent xml_document, values_thrnode, "StudyTypeID", rs("StudyTypeID")
AddElementToParent xml_document, values_thrnode, "Title", rs("Title")
AddElementToParent xml_document, values_thrnode, "enable", rs("enable")
AddElementToParent xml_document, values_thrnode, "eMod", rs("eMod")
xml_documentSave (AppPath & "\vbxml")
rsMoveNextWendMsgBox (" 已成功保存到跟目录vbxml中")End Sub'创建根节点的方法
Public Function CreateRootNode(xmlDoc As DOMDocument, RootNodeName As String) As IXMLDOMElement
Dim objRootNode As IXMLDOMElement
Set objRootNode = xmlDoccreateNode("element", RootNodeName, "")
xmlDocappendChild objRootNode
Set CreateRootNode = objRootNode
End Function
'创建子节点的方法
Public Function CreateChildNode(xmlDoc As DOMDocument, ParentNode As IXMLDOMElement, NewNodeName As String) As IXMLDOMElement
Dim NewNode As IXMLDOMElement
Dim NewNode1 As IXMLDOMElement
Set NewNode = xmlDoccreateNode("element", NewNodeName, "")
ParentNodeappendChild NewNode
Set CreateChildNode = NewNodeEnd Function
'子节点加入父节点并读取值
Public Sub AddElementToParent(xmlDoc As DOMDocument, elemParent As IXMLDOMElement, elemName As String, sValue As String)
Dim ChildNode As IXMLDOMElement
Set ChildNode = xmlDoccreateNode("element", elemName, "")
ChildNodeText = sValue
elemParentappendChild ChildNode
Set ChildNode = Nothing
End Sub
以上就是关于php读取数据库并生成xml文件全部的内容,包括:php读取数据库并生成xml文件、java读取oracle数据库里面的数据生成xml文件,生成的xml文件出现乱码怎么解决、如何从数据库读取数据组织成xml文件发送出去等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)