如何在SQL Server中从没有标签的xml文件中读取xml数据?

法西里奥·塞西利亚诺(Fabricio Ceciliano)

我知道如何从标签中组织信息的文件中读取xml数据,我的意思是这样的文件:

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
    <Administrador>
        <id> 8 </id>
        <nombre> Nelle </nombre>
        <valorDocId> 8399335355 </valorDocId>
        <contrasenna> Glenn </contrasenna>
    </Administrador>
    <Administrador>
        <id> 9 </id>
        <nombre> Gayler </nombre>
        <valorDocId> 1310348693 </valorDocId>
        <contrasenna> Madonna </contrasenna>
    </Administrador>
</dataset>

我用来阅读的代码是:

use Proyecto1

declare @filedata XML

select @filedata=BulkColumn from OpenRowSet(Bulk'File directory', Single_blob) x;
insert into Table(id, nombre, valorDocId, clave)
select 
    xData.value('id[1]', 'int') id,
    xData.value('nombre[1]','varchar(30)') nombre,
    xData.value('valorDocId[1]','int') valorDocId,
    xData.value('contrasenna[1]','varchar(20)') clave
from @fileData.nodes('/dataset/Administrador') as 
x(xData)

但是现在我需要读取一个未按标签组织的xml文件,至少不像上一个那样,xml如下所示:

<?xml version='1.0' encoding='UTF-8'?>
<dataset>
    <Administrador id="1" nombre="Nelle" valorDocId="8399335355" contrasenna="Glenn"/>
    <Administrador id="2" nombre="Gayler" valorDocId="1310348693" contrasenna="Madonna"/>
</dataset>

但是我之前使用的代码无法正常工作,它抛出一个错误,提示我无法在“ id”列中插入NULL值,因此我以为是未读取数据。那么我该如何读取第二个文件?

约翰·卡佩莱蒂

Declare @XML xml = '
<dataset>
    <Administrador id="1" nombre="Nelle" valorDocId="8399335355" contrasenna="Glenn"/>
    <Administrador id="2" nombre="Gayler" valorDocId="1310348693" contrasenna="Madonna"/>
</dataset>
'

Select id          = x.v.value('@id','int')
      ,nombre      = x.v.value('@nombre','varchar(50)')
      ,valorDocId  = x.v.value('@valorDocId','varchar(50)')
      ,contrasenna = x.v.value('@contrasenna','varchar(50)')
 From  @Xml.nodes('dataset/Administrador') x(v)

退货

id  nombre  valorDocId  contrasenna
1   Nelle   8399335355  Glenn
2   Gayler  1310348693  Madonna

编辑-从文件中获取XML

Declare @XML xml
Select @XML = BulkColumn FROM  OPENROWSET(BULK 'C:\Working\SomeXMLFile.xml', SINGLE_BLOB) x;

Select id          = x.v.value('@id','int')
      ,nombre      = x.v.value('@nombre','varchar(50)')
      ,valorDocId  = x.v.value('@valorDocId','varchar(50)')
      ,contrasenna = x.v.value('@contrasenna','varchar(50)')
 From  @Xml.nodes('dataset/Administrador') x(v)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从没有包含数据的文本文件中读取?

如何从没有属性的XML文件中获取节点并放入字符串列表

如何在Minizinc中从没有变量名的.dzn文件中读取

如何在 Python 中从没有 Pandas 的文件中获取数据?

如何从没有索引的列中获取数据

如何从没有空列的.dat文件中获取数据

如何从没有节点的XML查询值?

如何从没有键的 JSON 数组中的数组中读取值?

如何从没有标签的HTML字符串中获取数字?

Webcrawler BeautifulSoup-如何从没有类标签的链接中获取标题

如何从没有外部IP的GCE VM中读取存储分区?

如何在 SQL Server 中读取 xml?

在Spring data JPA中,如何从没有实体存储库的表中查询数据

如何在postgreSQL中从没有时区数据类型参数的时间戳中获取时间

我如何从没有索引的分组数据框中获取单元格值

如何从没有Auth::()的数据库中获取userId?

如何从没有匹配列的表中获取数据?

如何从没有ID的表中获取行

如何从没有扩展名的路径中获取特定文件名python

python - 如何从没有任何元音的文本文件中过滤单词?

如何从SQL Server中的多个XML文件读取数据?

如何从没有(转义序列)字符串中的“\ufeff”和“\u3000”值的文件中正确读取日语字符?

如何在React.js中从没有JSON的JSON中获取列表内容?

如何在powershell中从没有标题的对象中获取项目?

在SQL Server中读取XML重复标签

如何从没有命令提示符的文件中删除“系统文件”属性?

如何从没有文件扩展名的目录中仅保存文件名的子字符串?

如何从 xml 文件中读取 html 标签?

我们如何从没有声明文件的NPM库中声明导入类型?