C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 33 を表示中)
■16171 / )  XMLの改行について、HTMLで表に表示される改行
□投稿者/ ゆっちん (1回)-(2008/03/29(Sat) 16:48:34)

分類:[.NET 全般] 

買った本のサンプルを使って先生の紹介を作ったのですが。
HTMLページでは先生を選択するとテーブルができて表示されるのですが
挨拶のところが<br>を使っても改行できず困っています。
初心者なもので、だれか改行できるようにするにはどうすればよいか
教えていただけないでしょうか。

ちなみに挨拶のところは表はこんな感じで表示されます

_________________
クラス |  3                    |
____|____________|  
    |ああああああああいいい |
挨 拶 |いいいいいいいいううう |   
    |うううううう      |
____|____________|                       
資 格 |                        |
____|____________|             
    |                        |
専門分野|                        |
____|________________________|  

<挨拶>ああああああ</挨拶>
<挨拶>いいいいいい</挨拶>
<挨拶>うううううう</挨拶>
のようにひとつひとつ区切ると見栄えは
いいのですが、テーブルが下記のように
なりできればきちんと改行したい。
_________________
クラス |  3                    |
____|____________|  
挨 拶 |ああああああああ        |
____| _______________________|
挨 拶 |いいいいいいいい    |   
__________________________________|
挨 拶 |うううううううう    |   
__________________________________|
        |                        |
資 格 |                        |
____|____________|             
    |                        |
専門分野|                        |
____|________________________|  

このように改行したいのです。
_________________
クラス |  3                    |
____|____________|  
    |ああああああああ    |
挨 拶 |いいいいいいいい    |   
    |うううううううう    |     
____|____________|                       
資 格 |                        |
____|____________|             
    |                        |
専門分野|                        |
____|________________________|  


ファイルの内容は下記を使ってます。


@XMLファイル school.xml


<?xml version="1.0" encoding="Shift_JIS"?>
<学校案内>


<先生 位置x="385" 位置y="55" 写真="../imge/dr/01.gif">
		<クラス>3</クラス>
		<クラブ>ブラバンド</クラブ>
		<氏名>山中 正子先生</氏名>
		<フリガナ>やまなか まさこ</フリガナ>
		<先生紹介>
			<担当教科>音楽</担当教科>
			 <挨拶>ああああああああ
				いいいいいいいい
				うううううううう
			</挨拶>
			<資格>英検3級
			   音楽教師
			</資格>
			<専門分野>音楽</専門分野>
		</先生紹介>
</先生>

<学校案内>


<先生 位置x="385" 位置y="55" 写真="../imge/dr/01.gif">
		<クラス>4</クラス>
		<クラブ>野球</クラブ>
		<氏名>真田 幸弘先生</氏名>
		<フリガナ>さなだゆきひろ</フリガナ>
		<先生紹介>
			<担当教科>国語</担当教科>
			 <挨拶>ああああああああああああああああ
				いいいいいいいいいいいいいいいい
				うううううううううううううううう
				ええええええええええええええええ 
			</挨拶>
			<資格>教師
			</資格>
			<専門分野>国語</専門分野>
		</先生紹介>
</先生>


</学校案内>



AXSLファイル school.xsl

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="html" version="4.01" indent="yes" />
<xsl:param name="userName"></xsl:param>
<xsl:template match="/">
<div style="font-family:MS Pゴシック;font-size:12pt;color:navy;background-color:gold;padding:2px;"><xsl:value-of select="学校案内/クラブ" /></div>
<div style="margin-top:15px;"><xsl:apply-templates select="学校案内" /></div>
</xsl:template>

<xsl:template match="学校案内">
		<xsl:for-each select="先生">
				<xsl:variable name="namae" select="氏名" />
				<xsl:if test="$userName=$namae">
						<table border="0">
										<caption2><xsl:value-of select="クラス" /><xsl:text>(</xsl:text><xsl:value-of select="クラブ" /><xsl:text>)</xsl:text></caption2>

							<caption><xsl:value-of select="氏名" /><xsl:text>(</xsl:text><xsl:value-of select="フリガナ" /><xsl:text>)</xsl:text></caption>
								<xsl:for-each select="先生紹介">
									<xsl:apply-templates />
								</xsl:for-each>
								
						</table>
				</xsl:if>
		</xsl:for-each>
</xsl:template>

<xsl:template match="*">
	<tr><th><xsl:value-of select="local-name()" /></th><td><xsl:value-of select="." /></td></tr>
</xsl:template>
</xsl:stylesheet>


Bjavascriptファイル

// JavaScript Document
<!--
var readXml;
var xPos;
var yPos;
var myImage;
var iro=0;
function windowLoad(){
	readXml=new ActiveXObject("MSXML2.DOMDocument");
	readXml.async=false;
	readXml.load("./school.xml");
	var nameNode=readXml.selectNodes("//先生/氏名");
	var i;
	var nameData="";
	
	for(i=0;i<=nameNode.length-1;i++){
		nameData=nameData + "<option value='" + nameNode(i).text + "'>" + nameNode(i).text + "</option>";
	}
	
	var listData="";
	listData="<select style='width:130px;' name='selectName' size='" + nameNode.length + "' onchange='DataShowGo()'>" + nameData + "</select>";
	document.getElementById("oldManName").innerHTML=listData;
	
	var ichiNode=readXml.selectNodes("//先生");
	xPos=new Array(ichiNode.length);
	yPos=new Array(ichiNode.length);
	myImage=new Array(ichiNode.length);
	
	for(i=0;i<=ichiNode.length-1;i++){
		xPos[i]=ichiNode(i).getAttribute("位置x");
		yPos[i]=ichiNode(i).getAttribute("位置y");
		myImage[i]=ichiNode(i).getAttribute("写真");
	}
}

function markMove(){
	var posNo=myForm.selectName.selectedIndex;
	with(document.getElementById("maru").style){
		document.getElementById("maru").style;
		marginLeft=xPos[posNo] + "px";
		marginTop=yPos[posNo] + "px";
	}
		document.getElementById("personalImage").src=myImage[posNo];
		with(document.getElementById("personalImage").style){
			visibility="visible";
			marginTop="230px";
			marginLeft="610px";
		}
		var myTimer=setInterval("markBlink()",100);
}


function DataShowGo(){
	var selectName=myForm.selectName.options.value
	if(selectName!=""){
			var xslt=new ActiveXObject("MSXML2.XSLTemplate");
			var xsldoc=new ActiveXObject("MSXML2.FreeThreadedDOMDocument");
			var xmldoc=new ActiveXObject("MSXML2.DOMDocument");
			xsldoc.async = false;
			xsldoc.load(".school.xsl");
			xslt.stylesheet = xsldoc;
			xmldoc.async = false;
			xmldoc.load("./school.xml");
			var xslproc = xslt.createProcessor();
			xslproc.input = xmldoc
			xslproc.addParameter("userName",selectName);
			xslproc.transform();
			var resultData=xslproc.output;
			document.getElementById("personalInfo").innerHTML=resultData;
			markMove();
	}
}


返信 編集キー/


管理者用

- Child Tree -