こんばんは、アキエリアと申します。
現在XMLを読み込んで値を取得しウェブブラウザーコントロールにて表示するというプログラムを作っております。
-----XML-----
<?xml version="1.0" encoding="UTF-8"?>
<ルートタイトル>
<テスト>
<文>あああああああ <br / gt;
<hr />
<img src ="図フォルダ\図1.jpg" />
</文>
</テスト>
</ルートタイトル>
-----ファイル配置-----
test.xml
|
図フォルダ ---図1.jpg
上記のXMLをDOMで読み取り<文>の値をInnerTextでStr_bunに代入して、以下のプログラムでWebBrowser1に表示しようとしています。
If (WebBrowser1.Document IsNot Nothing) Then
Dim doc As HtmlDocument = WebBrowser1.Document.OpenNew(True)
doc.Write(Str_bun)
End If
改行<br>や横線<hr>は問題なく表示できるのですが相対パスで指定している<img>タグが"×"と表示に失敗してしまいます。
×と表示された画像のプロパティを見るとアドレスが about:blank図フォルダ\図1.jpg となってしまっています。
XMLのなかにHTMLが入っており、さらにいろいろな環境で使用する予定なので絶対パスの指定がうまくできない状況です。
何か良い方法などなりますでしょうか?是非ともお知恵をお貸しください!
取りあえず何を基準にすればいいのかは分かっているものとして。
多少強引ですが、Write のあと、CreateElement で base 要素を作り、head 要素の HtmlElement に AppendChild してやればいけるように思います。
すみません、環境を書き忘れました。
VB2005で制作しております
Hongliang様レスありがとうございます。
基準は
C:\XMLテスト\test.xml にXMLがあるとしたら
C:\XMLテスト を指定すればよいのでしょうか?
いまいち分からず四苦八苦していますがもう少し調べてみます。
base酔うその意味は理解できました
ツイート | ![]() |