C# xml自动还是xml路径?

C# xml自动还是xml路径?,c#,asp.net,sql,xml,C#,Asp.net,Sql,Xml,执行以下查询 SELECT AssessmentFileGUID as '@FileId',AssessmentFileTypeId as '@FileTypeId',AssessmentFileName FROM rat.AssessmentFile where AssessmentId=17 for xml path('File'),root('Files') 给我以下结果: <Files> <File FileId="2A23D836-61

执行以下查询

SELECT     AssessmentFileGUID as '@FileId',AssessmentFileTypeId as '@FileTypeId',AssessmentFileName
FROM         rat.AssessmentFile where AssessmentId=17 
for xml path('File'),root('Files')
给我以下结果:

<Files>
  <File FileId="2A23D836-612F-418E-BDE8-F182C5432A0D" FileTypeId="1">
    <AssessmentFileName>File-123213.pdf</AssessmentFileName>
  </File>
  <File FileId="CDA853B9-C587-4365-BAF5-972F8D217BAC" FileTypeId="2">
    <AssessmentFileName>File-343455.png</AssessmentFileName>
  </File>
</Files>

文件-123213.pdf
文件-343455.png

但是,我需要以下格式的文件:

<Files>
  <File FileId="2A23D836-612F-418E-BDE8-F182C5432A0D" FileTypeId="1">File-123213.pdf</File>
  <File FileId="CDA853B9-C587-4365-BAF5-972F8D217BAC" FileTypeId="2">File-343455.png</File>
</Files>

文件-123213.pdf
文件-343455.png
不确定,但请尝试此操作

SELECT     
    AssessmentFileGUID as '@FileId',
    AssessmentFileTypeId as '@FileTypeId',
    AssessmentFileName as "File/text()"
FROM         
    rat.AssessmentFile 
where 
    AssessmentId = 17 
FOR XML PATH('File'), ROOT('Files')
不确定,但试试这个

SELECT     
    AssessmentFileGUID as '@FileId',
    AssessmentFileTypeId as '@FileTypeId',
    AssessmentFileName as "File/text()"
FROM         
    rat.AssessmentFile 
where 
    AssessmentId = 17 
FOR XML PATH('File'), ROOT('Files')

指定作为内容的列,并将其放在正确的位置:

declare @T table (
    AssessmentFileGUID uniqueidentifier not null,
    AssessmentFileTypeId int not null,
    AssessmentFileName varchar(max) not null,
    AssessmentId int not null
)
insert into @T(AssessmentFileGUID,AssessmentFileTypeId,AssessmentFileName,
     AssessmentId) values
('2A23D836-612F-418E-BDE8-F182C5432A0D',1,'File-123213.pdf',17),
('CDA853B9-C587-4365-BAF5-972F8D217BAC',2,'File-343455.png',17)

SELECT     AssessmentFileGUID as '@FileId',AssessmentFileTypeId as '@FileTypeId',
     AssessmentFileName as 'data()' //Change here
FROM         @T where AssessmentId=17 
for xml path('File'),root('Files')
结果:

<Files>
    <File FileId="2A23D836-612F-418E-BDE8-F182C5432A0D" FileTypeId="1">File-123213.pdf</File>
    <File FileId="CDA853B9-C587-4365-BAF5-972F8D217BAC" FileTypeId="2">File-343455.png</File>
</Files>

文件-123213.pdf
文件-343455.png

指定作为内容的列,并将其放在正确的位置:

declare @T table (
    AssessmentFileGUID uniqueidentifier not null,
    AssessmentFileTypeId int not null,
    AssessmentFileName varchar(max) not null,
    AssessmentId int not null
)
insert into @T(AssessmentFileGUID,AssessmentFileTypeId,AssessmentFileName,
     AssessmentId) values
('2A23D836-612F-418E-BDE8-F182C5432A0D',1,'File-123213.pdf',17),
('CDA853B9-C587-4365-BAF5-972F8D217BAC',2,'File-343455.png',17)

SELECT     AssessmentFileGUID as '@FileId',AssessmentFileTypeId as '@FileTypeId',
     AssessmentFileName as 'data()' //Change here
FROM         @T where AssessmentId=17 
for xml path('File'),root('Files')
结果:

<Files>
    <File FileId="2A23D836-612F-418E-BDE8-F182C5432A0D" FileTypeId="1">File-123213.pdf</File>
    <File FileId="CDA853B9-C587-4365-BAF5-972F8D217BAC" FileTypeId="2">File-343455.png</File>
</Files>

文件-123213.pdf
文件-343455.png

这让我欢迎来到HDFC银行NetBanking-4-12-12.pdf Ipad_safari-File-upload-issue.png对不起,bilal回答错了,我不太清楚,但请您尝试一下选择AssessmentFileGUID作为'File/@FileId',AssessmentFileTypeId作为'File/@FileTypeId',assessmentfilefilename作为“File/text()”好吗来自rat.AssessmentFile,其中AssessmentId=17表示xml路径(“文件”),谢谢!但这对我很有用:AssessmentFileName为'data(),谢谢您的尝试:)这让我欢迎来到HDFC银行NetBanking-4-12-12.pdf Ipad_safari-File-upload-issue.png抱歉,bilal回答错了,我不确定,但请您尝试一下这个选择AssessmentFileGUID作为'File/@FileId',AssessmentFileTypeId作为'File/@FileTypeId',assessmentfilefilefilename作为“File/text()”来自rat.AssessmentFile,其中AssessmentId=17表示xml路径(“文件”),谢谢!但这对我很有用:AssessmentFileName为'data(),谢谢您的尝试:)