Linq-to-XML查询是调用整个文档还是只调用您查询的内容

本文关键字:调用 查询 文档 Linq-to-XML | 更新日期: 2023-09-27 18:22:47

由于政治原因(arg),我的公司面向公众的网站没有sql持久性。因此,我正在构建一个sql支持的网站,它也为我的公共网站吐出XML,这个网站位于不同的服务器上,无法访问公共网站所在的服务器。我知道,它听起来很丑陋,但我认为这是我目前最好的选择。

无论如何,我有一个位置的xml文件。市场营销(再次arg)当然想要一个与每个地点相关联的图像。这意味着我有几个选项,无论哪一个,我都可以手动输入图像的名称作为字符串,并手动将图像放在文件夹中供公共网站访问。或者,我可以将其作为byte[]数据存储在数据库和xml文档中。我稍后会对此进行探讨。

<Location>
    <Id>1</Id>
    <Name>Name of Loc</Name>
    <Address1>Address Line 1</Address1>
    <City>Loc City</City>
    <State>Loc State</State>
    <Zip>Loc Zip</Zip>
    <Latitude>43.244952</Latitude>
    <Longitude>-82.74054</Longitude>
    <ImageData>/9j/4AAQSkZJRgABAgEASABIAAD... (truncated for sanity sake)</ImageData>
    <ImageMimeType>image/jpeg</ImageMimeType>
</Location>
    <Location>
    <Id>2</Id>
    <Name>Name of Loc</Name>
    <Address1>Address Line 1</Address1>
    <City>Loc City</City>
    <State>Loc State</State>
    <Zip>Loc Zip</Zip>
    <Latitude>43.244952</Latitude>
    <Longitude>-82.74054</Longitude>
</Location>
<Location>
    <Id>3</Id>
    <Name>Name of Loc</Name>
    <Address1>Address Line 1</Address1>
    <City>Loc City</City>
    <State>Loc State</State>
    <Zip>Loc Zip</Zip>
    <Latitude>43.244952</Latitude>
    <Longitude>-82.74054</Longitude>
</Location>

因此,一旦我有了一个包含90个位置的XML文档,并且每个文档都有一个图像,那么XML文档本身就会非常大。

在我继续走这条路之前,我的问题是,当我通过Linq-to-XML调用XML时,我是只调用正在查询的信息,还是提取整个XML文档并提取我需要的信息?

如果我真的在提取完整的XML文档,你对更好的方法有什么建议吗?或者服务器能够相当快速地处理这些信息吗?

Linq-to-XML查询是调用整个文档还是只调用您查询的内容

加载并处理整个文档。如果您对图像进行base64编码(看起来确实如此),并将它们粘贴到XML文档中,那么它可能会很快占用大量内存。