Đây là câu hỏi 'cho xml' khác, nhưng tôi không chắc liệu điều này có thể được thực hiện mà không có chế độ tường minh hay không. Nếu không thể, thì tôi sẽ phải sống với nó.SQL Server 'FOR XML' nhận giá trị vào nút phần tử "hàng"
Sau đây là chọn hiện tuyên bố của tôi:
SELECT
[stream_id] as '@stream_id',
[path_locator] as '@path_locator',
[parent_path_locator] as '@parent_path_locatr',
[file_type] as '@file_type',
[cached_file_size] as '@cached_file_size',
[creation_time] as '@creation_time',
[last_write_time] as '@last_write_time',
[last_access_time] as '@last_access_time',
[is_directory] as '@is_directory',
[is_offline] as '@is_offline',
[is_hidden] as '@is_hidden',
[is_readonly] as '@is_readonly',
[is_archive] as '@is_archive',
[is_system] as '@is_system',
[is_temporary] as '@is_temporary',
[name] as '/name',
dbo.udf_GetChildren(path_locator)
FROM @Merged
WHERE path_locator.GetLevel() = 1
FOR XML PATH'file'), ROOT('files'), TYPE
này kết quả đầu ra xml sau:
<files>
<file stream_id="" etc...>
<name>NAME</name>
</file>
</files>
Đây không phải là xấu, nhưng những gì tôi thực sự muốn là để có được những name giá trị của phần tử làm giá trị của tệp phần tử. Đây là một nhiệm vụ đơn giản như vậy, tôi cho rằng nó có thể được thực hiện mà không có chế độ tường minh, nhưng tôi đã sai khá thường xuyên về những thứ như vậy.
Tôi đã thử sử dụng dấu '/', nhưng điều này dường như không có hiệu ứng tôi muốn (ví dụ: Update XML node (in an XML column) in SQL Server 2005 with another column value in the same row).
chỉnh sửa: Các xml mong muốn sẽ là đơn giản này:
<files>
<file stream_id="" etc...>NAME</file>
</files>
Rất cám ơn sự giúp đỡ.
Bạn có thể hiển thị một ví dụ về đầu ra XML mong muốn? –
@AdamWenger đã hoàn tất. Cảm ơn. – dansan
Bạn đã thử 'tên là '*'' chưa? –