如何从数据库表中生成xml文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从数据库表中生成xml文件?相关的知识,希望对你有一定的参考价值。
有一个树形结构,存储在数据库中,用的是sql server 2000的数据库。存的数据表中有5列,第一列为id,即一个以1为种子的递增序列;第二列为节点编号,用于表示树形节点中的值;第三列为父节点编号;第四列为节点名称,用于表示树形节点中显示的文字;第五列为节点层数。 现在,要将从该数据表产生一个xml文件,这个文件可以直接绑定到树形控件从而来生成这颗树。请问,这个生成xml文件的c#程序代码怎么写啊?有一个方法是用xmltextwriter的方法做的,但是却总是提示没有根节点。还有一种是用xmldocment的方法做的,但是,在写的过程中,关于xmlnode和xmlelement之间无法转化,也没办法写下去。 有没有哪位高手大哥能告诉小弟怎么写啊?如果解决的话,还会追加分数,谢谢拉,在线急等! 有没有简单的答案啊?要针对性强的。这么长的代码,是要看死人的。呵呵。 非典型性天秤座这位仁兄着实厚道。不过小弟我已经解决了这个问题。不是用仁兄的方法做的。因为这样做会有一个很大的问题,就是循环次数过多,速度会很慢了。 小弟刚刚用了强制转换,还是用xmldocument方法实现的。呵呵,只用了一次遍历数据表就直接生成了。
参考技术A 这个可以使用asp转义字符代码chr(34),也可以使用单引号,比如:myfile.writeline("<key
caption="&chr(34)&a_name&chr(34)&">")
或
myfile.writeline("<key
caption='"&a_name&"'>")
应该都可以吧。
如何在 Oracle 中生成 xml 空值?
【中文标题】如何在 Oracle 中生成 xml 空值?【英文标题】:How to generate xml null values in Oracle? 【发布时间】:2016-11-14 13:27:24 【问题描述】:我是通过plsql
生成XML
的新手。如何使用null
值生成XML
?
我需要下面的输出。
DealUserDescription i:nil="true"/
【问题讨论】:
【参考方案1】:创建 nil xml 元素的功能,我相信它可以改进:
create function add_xml_element(
p_name in varchar2,
p_value in varchar2,
p_namespaces in varchar2 default null,
p_nil_prefix in varchar2 default null,
p_nil_namespace in varchar2 default null) return XMLType is
l_result XMLType;
begin
if p_value is not null then
l_result := XMLType('<' || p_name || ' ' || p_namespaces || '>'||p_value||'</' || p_name || '>');
elsif p_nil_prefix is not null and p_nil_namespace is not null then
l_result := XMLType('<' || p_name || ' ' || p_namespaces || ' ' || p_nil_namespace || ' ' || p_nil_prefix || ':nil="true"/>');
else
raise_application_error(-20001, 'Nil prefix or namespace not provided');
end if;
return l_result;
end;
和 plsql 脚本来测试它:
declare
l_xml xmlType;
cursor c_build_xml(cp_value in varchar2) is
select
xmlElement("root",
add_xml_element(
'node',
cp_value,
null,
'i',
'xmlns:i="default"'))
from
dual;
begin
open c_build_xml('nodevalue');
fetch c_build_xml
into l_xml;
close c_build_xml;
dbms_output.put_line(l_xml.getClobVal());
open c_build_xml(null);
fetch c_build_xml
into l_xml;
close c_build_xml;
dbms_output.put_line(l_xml.getClobVal());
end;
/
脚本输出如下:
<root>
<node>nodevalue</node>
</root>
<root>
<node xmlns:i="default" i:nil="true"/>
</root>
【讨论】:
以上是关于如何从数据库表中生成xml文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用存储过程在 SQL Server 中生成表的数据脚本文件?