0

我正在尝试编写一个 aspx 页面,该页面将爬过一个目录并找到其中包含的所有文件。我想我已经放下了那部分。

是否可以在不首先从我正在阅读的 html 和 asp 页面创建 .txt 文件的情况下读取字符串?我不想创建大量新文件,然后最终不得不在以后删除它们。

最终,我正在尝试开发一种工具来搜索整个目录并找到所有具有空 alt 属性或没有 alt 属性的图像标签。我写了一些可以找到标签的jQuery,我还写了搜索目录的部分。

4

3 回答 3

2

如果您的文件系统上有一个文件,您可以简单地读取它 - 如果您知道它是一种文本格式,则需要使用具有正确编码的流来执行此操作。

由于您正在阅读和查询 HTML,我建议使用专门为此任务编写的库 - HTML Agility Pack - 您可以为其提供 HTML 文件的路径,然后查询它以获取所有img元素。源代码下载附带示例项目,将向您展示如何完成此任务和其他任务。

于 2012-05-18T14:12:43.800 回答
1

链接:http: //msdn.microsoft.com/en-us/library/system.io.streamreader.aspx

示例: http ://www.csharp-examples.net/load-text-file-to-string/ (此示例展示了如何使用 .txt 文件,但我相信如果您可以添加任何其他扩展名)

获取所有文件: http ://www.csharp-examples.net/get-files-from-directory/

编辑:不要忘记编码。

于 2012-05-18T14:12:27.700 回答
0

当然,为什么不保存到环境变量,不要大惊小怪,不要乱七八糟。所以尝试这样的事情:将一个 html 或 asp 文件拆开并保存到一个变量数组中,我已经向您展示了如何将它们重新组合在一起。让我知道这是否适合您

@echo off
setlocal EnableDelayedExpansion EnableExtensions
echo.
set count=0
if exist newfile.html del newfile.html
:: to unassemble
for /f "tokens=*" %%a in (filename.html) do (
    echo %%a
    set /a count=count + 1
    set htmllinenum!count!=%%a
)& set finalcount=!count!
:: to assemble
for /l %%a in (1,1,%finalcount%) do (
    echo !htmllinenum%%a!>>newfile.html
)
notepad newfile.tmp
    set count=0
if exist newfile.asp del newfile.asp
:: to unassemble
for /f "tokens=*" %%a in (filename.asp) do (
    echo %%a
    set /a count=count + 1
    set asplinenum!count!=%%a
)& set finalcount=!count!
:: to assemble
for /l %%a in (1,1,%finalcount%) do (
    echo !asplinenum%%a!>>newfile.asp
)
notepad newfile.asp
于 2012-05-18T14:18:45.117 回答