我有收集和分析与数据库内容相关的文件/文件夹数据的例程 - 系统已经存在并且运行良好多年。这些例程使用vbscript / AccessVBA来收集文件信息并准备/加载记录到SQL Server db。我目前没有将文件流存储在SQL服务器中,只是它们的路径和有关文件的数据。现在我需要从其中一些文件中提取XML元数据,这是我不得不使用的。
文件是从TIFF派生的JPEG2000。它们是通过批处理生成的,原始TIFF中的元数据被添加到JP2中。我可以使用JP2 Meta Editor看到XML:
XML看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Originating Facility -->
<TIFF>
<METADATA>
<FILENAME>L145Y1921I001S0005.tif</FILENAME>
<SEPARATOR>\</SEPARATOR>
<PARENT>I:\Processing_Unit\L145\Box127</PARENT>
<CANONICALPATH>I:\Processing_Unit\L145\Box127\L145Y1921I001S0005.tif</CANONICALPATH>
<ABSOLUTEPATH>I:\Processing_Unit\L145\Box127\L145Y1921I001S0005.tif</ABSOLUTEPATH>
<PATH>I:\Processing_Unit\L145\Box127\L145Y1921I001S0005.tif</PATH>
<FILE>true</FILE>
<DIRECTORY>false</DIRECTORY>
<FILELENGTH>18462952</FILELENGTH>
<HIDDEN>false</HIDDEN>
<ABSOLUTE>true</ABSOLUTE>
<URL>file:/I:/Processing_Unit/L145/Box127/L145Y1921I001S0005.tif</URL>
<URI>file:/I:/Processing_Unit/L145/Box127/L145Y1921I001S0005.tif</URI>
<READ>true</READ>
<WRITE>true</WRITE>
<EXTENSION>tif</EXTENSION>
<MODIFIED>2009-04-02 11:17:31</MODIFIED>
<DATE>20090402</DATE>
<DATEPATTERN>yyyyMMdd</DATEPATTERN>
<TIME>111731987</TIME>
<TIMEPATTERN>HHmmssSSS</TIMEPATTERN>
<TYPE>image/tiff</TYPE>
<PID>null</PID>
<OID>null</OID>
<FID>null</FID>
<PROCESSOR>unknown</PROCESSOR>
</METADATA>
<HEADER>
<LITTLEENDIAN>true</LITTLEENDIAN>
<VERSION>1.0</VERSION>
</HEADER>
<IMAGEFILEDIRECTORY>
<ELEMENT>
<NAME>NewSubfileType</NAME>
<TAG>254</TAG>
<LENGTH>1</LENGTH>
<TYPE>4</TYPE>
<VALUE>0</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>ImageWidth</NAME>
<TAG>256</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>2705</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>ImageLength</NAME>
<TAG>257</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>2275</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>BitsPerSample</NAME>
<TAG>258</TAG>
<LENGTH>3</LENGTH>
<TYPE>3</TYPE>
<VALUE>8</VALUE>
<VALUE>8</VALUE>
<VALUE>8</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Compression</NAME>
<TAG>259</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>1</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>PhotometricInterpretation</NAME>
<TAG>262</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>2</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>DocumentName</NAME>
<TAG>269</TAG>
<LENGTH>22</LENGTH>
<TYPE>2</TYPE>
<VALUE>L145Y1921I001S0005.tif</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>ImageDescription</NAME>
<TAG>270</TAG>
<LENGTH>6</LENGTH>
<TYPE>2</TYPE>
<VALUE>paper</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Make</NAME>
<TAG>271</TAG>
<LENGTH>10</LENGTH>
<TYPE>2</TYPE>
<VALUE>Phase One</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Model</NAME>
<TAG>272</TAG>
<LENGTH>6</LENGTH>
<TYPE>2</TYPE>
<VALUE>P 30+</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Orientation</NAME>
<TAG>274</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>1</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>SamplesPerPixel</NAME>
<TAG>277</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>3</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>RowsPerStrip</NAME>
<TAG>278</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>2275</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>XResolution</NAME>
<TAG>282</TAG>
<LENGTH>1</LENGTH>
<TYPE>5</TYPE>
<VALUE>300.0</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>YResolution</NAME>
<TAG>283</TAG>
<LENGTH>1</LENGTH>
<TYPE>5</TYPE>
<VALUE>300.0</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>PlanarConfiguration</NAME>
<TAG>284</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>1</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>ResolutionUnit</NAME>
<TAG>296</TAG>
<LENGTH>1</LENGTH>
<TYPE>3</TYPE>
<VALUE>2</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Software</NAME>
<TAG>305</TAG>
<LENGTH>51</LENGTH>
<TYPE>2</TYPE>
<VALUE>Capture One 4 Windows; Adobe Photoshop CS3 Windows</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>DateTime</NAME>
<TAG>306</TAG>
<LENGTH>20</LENGTH>
<TYPE>2</TYPE>
<VALUE>2009:03:26 11:23:36</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Artist</NAME>
<TAG>315</TAG>
<LENGTH>33</LENGTH>
<TYPE>2</TYPE>
<VALUE>Preservation Center</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Custom</NAME>
<TAG>34665</TAG>
<LENGTH>1</LENGTH>
<TYPE>4</TYPE>
<VALUE>null</VALUE>
</ELEMENT>
<ELEMENT>
<NAME>Custom</NAME>
<TAG>34675</TAG>
<LENGTH>560</LENGTH>
<TYPE>7</TYPE>
<VALUE>null</VALUE>
</ELEMENT>
</IMAGEFILEDIRECTORY>
</TIFF>
我需要从每个JP2文件中提取原始文档名称 - 父TIFF名称。
使用VBA / VBscript有没有直接的方法将其合并到现有的文件收集例程中?我需要能够处理数十万个现有文件记录以获得这个新的附加值,并将此提取包括在文件夹扫描中。
提前致谢。